PyQt5:QColorDialog颜色对话框(20)

本文是PyQt4入门指南的学习笔记,介绍了如何使用QColorDialog颜色对话框来改变QWidget部件的背景颜色。通过点击按钮,可以弹出颜色选择对话框,并将选择的颜色应用到部件上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习《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部件的背景色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值