PyQt5:QColorDialog颜色对话框
2020-01-03 14:26:27    118    0    0
janhui

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部件的背景色。

# getColor(color, parent)
# 第一项设置默认颜色,第二项设置父窗口对象
col = QColorDialog.getColor()​

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

if col.isValid():
    self.widget.setStyleSheet('QWidget {background-color:%s}'%col.name())
# name为16进制,可使用内置方法获取rgb或hvs等颜色表示方式,详见dir(col)

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

 

上一篇: OMV安装

下一篇: windows10LTSC版本激活代码

118 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航