今天要讲的是QColorDialog对话框。

一.描述

  QColorDialog对话框是用来为用户提供颜色选择的对话框控件,和上一章的QFontDialog控件一样,是继承自QDialog这个基类。其使用方法和QFontDialog基本相同。

二.功能作用

  1.构造函数

  可以直接声明使用,也可以为其传递一个QColor对象作为默认颜色

color = QColor(30,40,50)
color_dialog =QColorDialog(color,self)

这里创建了一个RGB值为30,40,50的颜色对象,然后弹出看对话框就有了默认的颜色

GUI学习之二十六——QColorDialog学习总结

  2.打开对话框

  打开对话框有三种常用方法:

QColorDialog.show()
QColorDialog.open()
QColorDialog.exec()

如果用show()方法话是可以发射colorSelected这个信号的

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.UI_test()
        self.resize(800,500)


    def UI_test(self):
        btn = QPushButton('color',self)
        btn.move(50,50)
        btn.clicked.connect(self.fun)
        self.btn = btn
        pass

    def fun(self):
        color = QColor(30,40,50)
        color_dialog =QColorDialog(color,self)
        color_dialog.colorSelected.connect(self.change_color)
        color_dialog.show()

    def change_color(self,color):
        palette = QPalette()
        palette.setColor(QPalette.Background,color)
        self.setPalette(palette)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
show方法弹出改变背景颜色

相关文章: