📅  最后修改于: 2023-12-03 15:33:52.694000             🧑  作者: Mango
QColorDialog
是一个内置的颜色选择器对话框,可以选择各种颜色并返回该颜色的值。在本节中,我们将学习如何使用QColorDialog
并从中返回选定的颜色值。
以下是一个简单的 QColorDialog
程序界面。
在此界面中,我们可以通过点击选择颜色按钮打开 QColorDialog
对话框,选择颜色并将其应用于标签。下面是代码片段。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QColorDialog, QLabel
from PyQt5.QtGui import QColor
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100,100,400,150)
self.setWindowTitle('QColorDialog')
# 创建两个按钮并设置其位置
col = QPushButton('选择颜色',self)
col.move(10,50)
apply = QPushButton('应用',self)
apply.move(330,50)
# 创建标签并设置其位置和大小
self.col_lbl = QLabel(self)
self.col_lbl.setGeometry(180,22,100,100)
# 将按钮点击事件与相应的处理程序连接
col.clicked.connect(self.showDialog)
apply.clicked.connect(self.setLabel)
self.show()
def showDialog(self):
col = QColorDialog.getColor()
if col.isValid():
self.color = col
self.setLabel()
def setLabel(self):
col = self.color
self.col_lbl.setStyleSheet('QLabel {background-color: %s}' % col.name())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在示例中,我们创建了一个 QColorDialog
,由一个“选择颜色”按钮和一个“应用”按钮触发,当我们单击“选择颜色”按钮时,QColorDialog
对话框将打开,并允许我们选择一种颜色。然后我们单击“应用”按钮将所选颜色应用于标签。
在showDialog
方法中,我们使用 getColour()
函数获得所选颜色,如果该选项为有效颜色,则将使用setLabel
方法应用该颜色。setLabel
方法使用所选颜色的名称将标签背景颜色设置为所选颜色。
希望以上内容对使用 PyQt5 中的 QColorDialog
有所帮助。