📜  PyQt5 QColorDialog - 设置背景颜色(1)

📅  最后修改于: 2023-12-03 14:45:47.962000             🧑  作者: Mango

PyQt5 QColorDialog - 设置背景颜色

在 PyQt5 中使用 QColorDialog 可以让用户选择颜色。可以将该颜色设置为窗口的背景颜色。

安装 PyQt5

如果你尚未安装 PyQt5,请使用以下命令安装:

pip install PyQt5
使用 QColorDialog

以下代码演示了如何使用 QColorDialog:

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QColorDialog


class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle('PyQt5 QColorDialog - 设置背景颜色')

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 350, 250)
        self.btn = QPushButton('选择颜色', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.showDialog)

        self.bgColor = QColor(0, 0, 0)
        self.setStyleSheet('background-color: {}'.format(self.bgColor.name()))

        self.show()

    def showDialog(self):
        color = QColorDialog.getColor()
        if color.isValid():
            self.bgColor = color
            self.setStyleSheet('background-color: {}'.format(self.bgColor.name()))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

代码解释:

  • 从 PyQt5.QtCore、 PyQt5.QtGui 和 PyQt5.QtWidgets 中分别导入 Qt、 QColor 和 QWidget 类。
  • 创建名为 Example 的自定义 QWidget 类。
  • 在 Example 类的构造方法中,设置窗口的标题,然后调用 initUI 方法初始化界面。
  • 在 Example 类的 initUI 方法中,设置窗口的位置和大小,并在窗口上放置一个按钮。
  • 为按钮添加 clicked 信号的槽函数 showDialog。
    • 在 showDialog 方法中,使用 QColorDialog.getClass() 方法弹出 color dialog。如果用户点击 OK 按钮,将背景颜色设置为选择的颜色。
  • 启动应用程序并运行 Example 类。

运行该应用程序后,会看到一个窗口和一个选择颜色的按钮。如果单击按钮,将弹出 QColorDialog。所选颜色将成为窗口的背景颜色。

结论

通过 QColorDialog ,可以让用户选择颜色并将其设置为窗口的背景颜色。使用 PyQt5 ,可以轻松实现这一目标。