关闭

PyQt5:QColorDialog颜色对话框(20)

693人阅读 评论(0) 收藏 举报
分类:

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

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

<span style="font-size:12px;">#!/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_())</span>

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

         col= QColorDialog.getColor()

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

         if  col.isValid():

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

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46696次
    • 积分:952
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:1篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论