PyQt-如何创建一个颜色弹窗QColorDialog

2025-06-07 23:48:38

颜色弹窗QColorDialog打开的各种方式,以及给控件设置颜色的步骤。

1.顶层窗口及子控件

1、导入模块,创建应用程序对象,顶层窗口对象;

PyQt-如何创建一个颜色弹窗QColorDialog

2、子控件:①按钮控件“颜色”,用于打开颜色对话框;②一个文本输入框,用于测试颜色。③监听主窗口缩放,设置文本框与主窗口大小保持比例。

PyQt-如何创建一个颜色弹窗QColorDialog

2.创建颜色弹窗

1、显示一个颜色对话框:可使用QColorDialog(parent);这里创建一个函数来封装颜色弹窗的代码,并用“颜色”按钮的clicked信号连接。①QColorDialog(parent)继承自QDialog 类。②用QColorDialog(parent)可显示一个颜色对话框;显示方法继承自QDialog的方法:有show()实时显示,open()窗口显示,exec()程序显示,getColor()方法显示;

PyQt-如何创建一个颜色弹窗QColorDialog

2、也可以用QColorDialog(QColor,parent);设置颜色对话框打开时的默认选中颜色。----参数QColor,是设置的默认颜色。可预先设置,或直接用RGB颜色作为参数;QColor(int,int,int)

PyQt-如何创建一个颜色弹窗QColorDialog

3.show()显示对话框,获取选中的颜色

1、大概的思路就是,要想给一个控件上颜色,就要先获取对话框的颜色,然后再改变颜色;当使用show()方法显示对话框时,实时获取对话框颜色:①利用颜色对话框的currentColorChanged()信号,此信号有一个参数是QColor对象。②当改变选择的颜色时,那么会向外传递QColor对象。③定义一个槽函数,参数qcolor来接收信号QColor,连接currentColorChanged信号。图例中可以看到,只要改变选择颜色,都会输出QColor对象。

PyQt-如何创建一个颜色弹窗QColorDialog

2、获取了对话框的颜色对象QColor后,就可以给控竭惮蚕斗件改变颜色。①定义一个调色板对象。plt = QPalette烫喇霰嘴()②给调色板设置颜色,plt. setColor(QPalette.Text,qcolor)----第一个参数是需要上色的角色,Text ,Foreground,Background等,具体参数可以看说明文档。----第二个参数是获取的颜色对象。③利用控件的setPalette(plt) 方法改变颜色。例如个图例中文本框 中的字体改变颜色:---设置调色板角色为Text,---然后设置文本框调色板self.te.setPalette(plt)---当前颜色改变时,文本框的字体颜色就跟着改变。

PyQt-如何创建一个颜色弹窗QColorDialog

4.open()显示弹窗,获取颜色;

1、当使用窗口显示 open()显示对话框时,只有当确定时才能获取改变。①open(slot)方法有一个参数是槽函数,定义槽函数作为open的参数;②在函数内使用颜色弹窗的selectedColor()方法返回QColor对象;③可用一个变量接收返回的颜色对象。图例中:只有点击 OK按钮关闭对话框,输出了选中的颜色对象。

PyQt-如何创建一个颜色弹窗QColorDialog

2、有了颜色对象,就可以愉快的给控件改色了。和前面方法一皱诣愚继样:①定义一个调色板对象。plt = QPalette()②给调色板上色,setColor(QPalette.Background,qcolor)----第一个参数是需要上色的角色,Text ,Foreground,Background等。----第二个参数是颜色对象QColor。③利用控件的setPalette(plt) 方法改变颜色,图例中设置调色板角色为背景颜色;并给主窗口设置颜色。点击OK接收,显示结果。

PyQt-如何创建一个颜色弹窗QColorDialog

5.exec()显示窗口,获取颜色;

1、如果对话框是按OK按钮(即接受改变)关闭,exec()返回True, 否则返回False;看下面的连接;①封装一段代码来实现目的,这段代码和open()连接的槽函数一样。②当exec()为True时执行这段代码即可。

PyQt-如何创建一个颜色弹窗QColorDialog

6.getColor()显示窗口,获取颜色;

1、相比以上的几种获取颜色的方法,用颜色对话框的 getColor()显得简单的多。①返回一个颜色对象QColor。②是阻塞式的,只有按接受键(OK)才会有返回值。③可以给getColor加入参数,这些参数会在关闭对话框前执行,例如:初始颜色,标题等。

PyQt-如何创建一个颜色弹窗QColorDialog

2、与前几种方法一样,获取颜色对象后就可以给某个控件的某个角是设置颜色。

PyQt-如何创建一个颜色弹窗QColorDialog

7.颜色对话框的信号。

1、颜色对话框有两个独有的信号:① currentColorChanged;上面提过,外传递当前的颜色对象。②colorSelected 信号;OK关闭对话框会向外传递一个选择的颜色对象。例图例中,即使使用show()方法显示对话框,也只能在关闭对话框时获取颜色对象。

PyQt-如何创建一个颜色弹窗QColorDialog
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢