📜  PyQt5 QColorDialog - 选定的颜色(1)

📅  最后修改于: 2023-12-03 15:33:52.694000             🧑  作者: Mango

PyQt5 QColorDialog - 选定的颜色

QColorDialog是一个内置的颜色选择器对话框,可以选择各种颜色并返回该颜色的值。在本节中,我们将学习如何使用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有所帮助。