继承QDialog
目录
2.2 设置指定索引颜色 setCustomColor(int,QColor)
2.3 获取自定义区域指定索引的颜色 customColor(int)
2.4 设置标准颜色指定位置颜色 setStandardColor()
2.5 获取标准颜色指定位置颜色 standardColor()
1 基本操作
1.1 构造函数

可以直接创建


这个界面是功能是这样的

也可以改个默认颜色创建

1.2 打开对话框

这个与62.QFontDialog中的功能相同,就不赘述了
1.3 当前颜色

![]()

![]()
1.4 最终选中的颜色 selectedColor()
这个要放在槽函数里用

运行之后点击ok
![]()
为了验证一下是不是最终获取的,我们使用QColor的getRgb()方法
现在我们选这个颜色

点击OK
![]()
最后一个值是alpha值,默认情况下不开放alpha值的选择
- alpha值:透明度,越接近0越透明
1.5 选项控制
方法和QFontDialog是相同的

方法我们就不试了
变化的是参数,参数为QColorDialog.ColorDialogOption,可以为以下的值

- QColorDialog.ShowAlphaChannel 开放alpha的选择
- QColorDialog.NoButtons 不显示 确定 和 取消 按钮
- QColorDialog.DontUseNativeDialog 不使用原生对话框
我们使用一条命令把三个选项都打开
![]()
我们可以看到下方的 确定 和 取消 没有了,而且多了一个alpha的选项

其余没有变化了,应该是 QColorDialog.DontUseNativeDialog在windows下没有效果
1.6 信号

- colorSelected 颜色被选择时触发
- currentColorChanged 颜色改变时触发
直接把两个信号一起试一下
![]()
初始是这样的

我们现在换一个颜色

![]()
之后点击OK,下面是所有的运行的结果

我们发现改变颜色和改变字体的信号触发机制是有区别的
如果点击cancel的话,currentColorChanged是不会被触发的
2 静态方法

这里涉及到两个两个区域,如下图所示

自定义颜色区域索引为,第一列0-1,第二列2-3,以此类推
基础颜色区域也是竖着数的,第一列0-5,第二列6-11,以此类推
2.1 获取自定义区域索引个数 customCount()
![]()
![]()
在这里我们使用静态方法后,对话框不会直接打开,而是需要我们实例化后打开
2.2 设置指定索引颜色 setCustomColor(int,QColor)


2.3 获取自定义区域指定索引的颜色 customColor(int)
![]()
![]()
如果没设置默认的就是白色
![]()
![]()
2.4 设置标准颜色指定位置颜色 setStandardColor()
我们现在设置标注颜色区域1号位为白色
![]()

2.5 获取标准颜色指定位置颜色 standardColor()
我们现在获取标准颜色区域2号位的颜色
![]()
![]()
2.6 获取选中的颜色 getColor()
这个方法可以不在后面加open()等弹出命令
参数可以什么都不放
![]()
运行之后

此时不会弹出窗口
点击OK
此时会弹出窗口
![]()
如果弹出后点击的是取消,它返回的颜色默认是黑色
也可以放参数,参数如下
- 默认颜色
- 父对象
- 标题
- 选项
![]()

![]()