继承QDialog

目录

1  基本操作

1.1  构造函数

1.2  打开对话框

1.3  当前颜色

1.4  最终选中的颜色 selectedColor()

1.5  选项控制

1.6  信号

2  静态方法

2.1  获取自定义区域索引个数 customCount()

2.2  设置指定索引颜色 setCustomColor(int,QColor)

2.3  获取自定义区域指定索引的颜色 customColor(int)

2.4  设置标准颜色指定位置颜色 setStandardColor()

2.5  获取标准颜色指定位置颜色 standardColor()

2.6  获取选中的颜色 getColor()


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

此时会弹出窗口

如果弹出后点击的是取消,它返回的颜色默认是黑色

也可以放参数,参数如下

  • 默认颜色
  • 父对象
  • 标题
  • 选项


版权声明:本文为potato123232原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/potato123232/article/details/119103123