# -*- coding: UTF-8 -*-
'''这个例子显示一个按钮和一个QFrame。QFrame的背景为黑色。
通过QColorDialog,我们可以改变它的背景。'''
import sys
from PyQt5.QtWidgets import (QWidget ,QApplication ,QColorDialog ,QPushButton ,QFrame)
from PyQt5.QtGui import QColor
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
clo = QColor(0,0,0)#初始化 QFrame 为黑色
self.bt = QPushButton("colorDailog",self)
self.bt.move(20 ,20)
self.bt.clicked.connect(self.showDailog)
self.frm = QFrame(self)
self.frm.setStyleSheet("QWidget { background-color: %s }"
%clo.name())#设置 frm 颜色为 clo
self.frm.setGeometry(130 ,22 ,80 ,80) #(130,22)为左上角的点,(80,80)为尺寸
self.setGeometry(300 ,300 ,250 ,180)
self.setWindowTitle("Color dialog")
self.show()
def showDailog(self):
'''弹出一个ColorDailog 对话框,把获取的颜色,给clo'''
clo = QColorDialog.getColor()
if clo.isValid() : #当clo获取到了有效的颜色
#设置self.frm的颜色为clo获取到的颜色
self.frm.setStyleSheet("QWidget { background-color: %s }"%clo.name())
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
python PyQt5 对话框之QColorDialog
最新推荐文章于 2024-07-17 13:55:08 发布