📅  最后修改于: 2023-12-03 15:33:52.729000             🧑  作者: Mango
在 PyQt5 中,QColorDialog
类提供了一种快速可靠的方法来获取颜色值。而其中,设置自定义颜色需要通过 QColorDialog.setCustomColor(int, QColor)
方法来实现。
QColorDialog.setCustomColor(int, QColor)
setCustomColor() 方法有两个参数,一个是自定义颜色的索引,另一个是自定义颜色值 Qcolor。
from PyQt5.QtWidgets import QApplication, QColorDialog, QVBoxLayout, QPushButton, QWidget
from PyQt5.QtGui import QColor
class ColorDialog(QWidget):
def __init__(self):
super(ColorDialog, self).__init__()
vbox = QVBoxLayout(self)
self.btn = QPushButton("Open Color Dialog", self)
self.btn.clicked.connect(self.open_dialog)
vbox.addWidget(self.btn)
def open_dialog(self):
color = QColorDialog.getColor()
if color.isValid():
print(color)
print(color.name())
for i in range(16):
self.btn.setStyleSheet("border: 2px solid black; background-color: %s" % QColorDialog.customColor(i).name())
self.btn.setStyleSheet("border: 2px solid black; background-color: %s" % color.name())
if __name__ == '__main__':
app = QApplication([])
dialog = ColorDialog()
dialog.show()
app.exec_()
在上面的例子中,我们创建了一个 QPushButton
并绑定一个事件处理函数 open_dialog
。该函数使用 QColorDialog.getColor()
方法来选择颜色,同时使用 QColorDialog.setCustomColor
方法来设置自定义的颜色。
在颜色选择后,我们使用 QPushButton.setStyleSheet()
方法来设置按钮的背景颜色。
当我们运行程序,点击按钮弹出颜色选择器,选择颜色后,在输出面板中选择的颜色将被显示和输出,而在按钮的背景颜色部分,将呈现所选择的颜色。
在这篇文章中,我们介绍了如何在 PyQt5 中设置自定义颜色,以及如何获取用户选择的颜色。
通过学习 QColorDialog
,我们可以快速实现一个可靠颜色选择器的功能,这对于很多需要进行颜色定制功能的应用程序非常有用。