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_())
  • 相关阅读:
    多线程
    关于并发和并行
    文件系统
    java.util.Arrays类
    程序管理与SElinux
    用户和用户组管理总结
    useradd和adduser
    打印可见字符
    cmd中控制某个命令执行多少次
    keras模块之-优化器(optimizers)--笔记
  • 原文地址:https://www.cnblogs.com/fuqia/p/8735201.html
Copyright © 2011-2022 走看看