PyQt5:QColorDialog颜色对话框(20)

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

PyQt5:QColorDialog颜色对话框(20)_第1张图片PyQt5:QColorDialog颜色对话框(20)_第2张图片

QColorDialog 提供了用于选择颜色的对话框

#!/usr/bin/python
# colordialog.py

from PyQt5.QtWidgets import QApplication, QPushButton, QColorDialog
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QColor

class ColorDialog (QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
  
        color = QColor(0, 0, 0)
        self.setGeometry(300, 300, 350, 80)
        self.setWindowTitle('ColorDialog')
        self.button = QPushButton('Dialog', self)
        self.button.setFocusPolicy(Qt.NoFocus)
        self.button.move(20, 20)
        self.button.clicked.connect(self.showDialog)
        self.setFocus()
        
        self.widget = QtWidgets.QWidget(self)
        self.widget.setStyleSheet('QWidget{background-color:%s}'%color.name())
        self.widget.setGeometry(130, 22, 100, 100)
        
    def showDialog(self):
        col = QColorDialog.getColor()
        if col.isValid():
            self.widget.setStyleSheet('QWidget {background-color:%s}'%col.name())

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = ColorDialog()
    qb.show()
    sys.exit(app.exec_())

         以上示例程序显示了一个按钮和一个QWidget部件,该widget部件的初始背景颜色为黑色。使用颜色对话框QColorDialog,我们可以改变widget部件的背景色。

         col= QColorDialog.getColor()

         这一行语句用来弹出颜色对话框。

         if  col.isValid():

             self.widget.setStyleSheet('QWidget {background-color:%s}'%col.name())

         以上的语句首先检测颜色时候可用。如果用户单击了颜色对话框的取消按钮,则对话框将不返回任何可用的颜色。如果颜色可用,我们将使用styleSheets设置widget部件的背景色。

你可能感兴趣的:(PyQt5)