zoukankan      html  css  js  c++  java
  • 对话框——颜色对话框

    示例效果如下:

    示例代码:

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 
     4 """
     5 ZetCode PyQt5 tutorial
     6 
     7 In this example, we select a color value
     8 from the QColorDialog and change the background
     9 color of a QFrame widget.
    10 
    11 Author: Jan Bodnar
    12 Website: zetcode.com
    13 Last edited: August 2017
    14 """
    15 
    16 from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame, QColorDialog, QApplication)
    17 from PyQt5.QtGui import QColor
    18 import sys
    19 
    20 
    21 class Example(QWidget):
    22 
    23     def __init__(self):
    24         super().__init__()
    25 
    26         self.initUI()
    27 
    28     def initUI(self):
    29 
    30         # 初始化QFrame的颜色为黑色
    31         col = QColor(0, 0, 0)
    32 
    33         self.btn = QPushButton('Dialog', self)
    34         self.btn.move(20, 20)
    35 
    36         self.btn.clicked.connect(self.showDialog)
    37 
    38         self.frm = QFrame(self)
    39         self.frm.setStyleSheet("QWidget { background-color: %s }" % col.name())
    40         print(col.name())
    41         self.frm.setGeometry(130, 22, 100, 100)
    42 
    43         self.setGeometry(300, 300, 250, 180)
    44         self.setWindowTitle('Color dialog')
    45         self.show()
    46 
    47     def showDialog(self):
    48 
    49         # 弹出QColorDialog
    50         col = QColorDialog.getColor()
    51 
    52         # 我们要先检查col的值。
    53         # 如果点击的是Cancel按钮,返回的颜色值是无效的。
    54         # 当颜色值有效时,我们通过样式表(style sheet)来改变背景颜色
    55         if col.isValid():
    56             self.frm.setStyleSheet("QWidget { background-color: %s }"
    57                 % col.name())
    58 
    59 
    60 if __name__ == '__main__':
    61 
    62     app = QApplication(sys.argv)
    63     ex = Example()
    64     sys.exit(app.exec_())
  • 相关阅读:
    (转)vim重复命令
    (转)Linux 目录结构
    (转)Linux 文件权限
    (转)Linux查看用户及其权限管理
    linux banner命令
    redmine和svn server的部署
    OpenCV学习 7:图像形态学:腐蚀、膨胀
    OpenCV学习 6:平滑滤波器 cvSmooth()——2
    《将博客搬至CSDN》
    OpenCV学习 5:关于平滑滤波器 cvSmooth()函数
  • 原文地址:https://www.cnblogs.com/fuqia/p/8735201.html
Copyright © 2011-2022 走看看