欢迎访问宙启技术站
智能推送

在Python中使用qtpy.QtGui模块实现颜色选择对话框

发布时间:2024-01-12 19:49:51

在Python中使用qtpy.QtGui模块可以很方便地实现颜色选择对话框。QColorDialog类提供了一个简单的对话框,用于选择颜色。

下面是一个使用QColorDialog的例子:

from qtpy.QtWidgets import QApplication, QMainWindow, QPushButton, QColorDialog, QLabel, QVBoxLayout, QWidget
from qtpy.QtGui import QColor

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Color Dialog Example")
        
        self.button = QPushButton("Choose Color", self)
        self.button.clicked.connect(self.open_color_dialog)
        
        self.color_label = QLabel("Selected Color")
        self.color_label.setAlignment(Qt.AlignCenter)
        
        layout = QVBoxLayout()
        layout.addWidget(self.button)
        layout.addWidget(self.color_label)
        
        widget = QWidget()
        widget.setLayout(layout)
        self.setCentralWidget(widget)
        
    def open_color_dialog(self):
        color = QColorDialog.getColor()
        if color.isValid():
            self.color_label.setStyleSheet("background-color: %s;" % color.name())
            self.color_label.setText(color.name())
            
if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在这个例子中,我们创建了一个窗口(MainWindow)并添加了一个按钮(Choose Color)和一个标签(Selected Color)。

当按钮被点击时,我们使用QColorDialog打开一个颜色选择器对话框。用户选择颜色后,我们使用QColorDialog.getColor()方法获取选中的颜色。如果颜色有效(即非空),我们将选中的颜色设置为标签的背景颜色,并更新标签的文本。

运行程序后,点击“Choose Color”按钮会打开一个颜色选择器对话框,选择颜色后,选中的颜色将会显示在标签上。