📅  最后修改于: 2023-12-03 15:33:52.708000             🧑  作者: Mango
在PyQt5中,QColorDialog是一个用于选择颜色的标准对话框。它提供了一种简单的方法来选择一个颜色并返回所选颜色的值。在这个教程中,我们将学习如何为子按钮设置皮肤。
我们可以使用setStyleSheet()
方法为子按钮设置皮肤。下面的代码段演示了如何使用QColorDialog选择颜色,并为子按钮设置该颜色作为背景颜色。
from PyQt5.QtWidgets import QApplication, QWidget, QColorDialog, QPushButton
from PyQt5.QtGui import QColor
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
col = QColor(0, 0, 0)
self.btn = QPushButton('颜色选择', self)
self.btn.move(20, 20)
self.btn.clicked.connect(self.showDialog)
self.frm = QWidget(self)
self.frm.setStyleSheet("QWidget { background-color: %s }" % col.name())
self.frm.setGeometry(130, 22, 100, 100)
self.setGeometry(300, 300, 250, 180)
self.setWindowTitle('为子按钮设置皮肤')
self.show()
def showDialog(self):
col = QColorDialog.getColor()
if col.isValid():
self.frm.setStyleSheet("QWidget { background-color: %s }" % col.name())
if __name__ == '__main__':
app = QApplication([])
ex = Example()
app.exec_()
在上面的代码中,我们首先创建了一个QColor对象,该对象的RGB值为0,0,0(即黑色)。QPushButton
对象btn是我们要设置皮肤的子按钮,且其文本为“颜色选择”。然后,我们使用QPushButton
对象btn的clicked
信号连接到showDialog()
方法。接着,我们创建了一个QWiget对象,并通过选取的颜色将其背景颜色设置为所选颜色。最后,我们为QWidget对象设置了几何属性,并显示了Example对象。在showDialog()
方法中,我们使用QColorDialog.getColor()
方法获取用户所选的颜色,并将所选颜色的名称作为QWidget对象的样式表传递。
通过上面的代码,我们如何通过QColorDialog为子按钮设置皮肤。