Qt的QColorDialog类


颜色对话框:QColorDialog

QColorDialog提供了一个可以获取指定颜色的对话框部件。

提示:使用之前需要包含 <QColorDialog> 头文件。

常用静态 getColor() 函数显示对话框,并允许用户指定颜色。

1.成员函数:

1.1构造函数:

QColorDialog::QColorDialog(QWidget * parent = 0)


创建一个颜色对话框,并指定其父对象。

QColorDialog::QColorDialog(const QColor & initial, QWidget * parent = 0)


创建一个颜色对话框,指定默认颜色和父对象。

1.2其他成员函数:

获取当前选中颜色:


QColor currentColor() const

获取点击OK键或同等效的按钮时当前的选中的颜色:


QColor QColorDialog::selectedColor() const

ColorDialogOption此属性包含影响对话框外观的各种选项。

设置ColorDialogOption:


void QColorDialog::setOption(ColorDialogOption option, bool on = true)


说明:将指定的option设置为启动,否则,清除给定的选项。

返回当前ColorDialogOption:


ColorDialogOption options() const

判断option是否为启动状态:


bool QColorDialog::testOption(ColorDialogOption option) const


说明:当option为启动状态,返回true,否则返回false

2.枚举:

QColorDialog::ColorDialogOption

ConstantValueDescription
QColorDialog::ShowAlphaChannel0x00000001允许用户选择颜色的alpha组件
QColorDialog::NoButtons0x00000002不要显示OK和Cancel按钮。(对于“实时对话”非常有用。)
QColorDialog::DontUseNativeDialog0x00000004使用Qt的标准颜色对话框,而不是操作系统的本机颜色对话框。

3.信号:

当用户点击OK键时发出的信号:


void colorSelected(const QColor & color)

当currentColor 改变时发出的信号:


void currentColorChanged(const QColor & color)

4.静态方法

返回index处的自定义颜色:


QColor QColorDialog::customColor(int index)

返回支持自定义颜色的数量总长度


int QColorDialog::customCount()

返回用户选择的颜色:(最常用)


QColor QColorDialog::getColor(const QColor &initial =Qt::white, QWidget * parent =0, constQString & title = QString(), ColorDialogOptionsoptions = 0)


弹出一个带有指定窗口标题的模态颜色对话框(如果没有指定则为“选择颜色”),让用户选择一个颜色,并返回该颜色。
颜色最初设置为initial。
对话框是父对话框的子对话框。如果用户取消对话框,它将返回一个无效的颜色(参见QColor::isValid())。
options参数允许您自定义对话框

设置自定义颜色在index处


void setCustomColor(int index, QColor color)

设置标准色在index处


void setStandardColor(int index, QColor color)

返回index处的标准色


QColor standardColor(int index)

5.例子:

5.1使用静态方法:

//创建一个QColor
QColor myColor(222,111,123);
//使用getColor方法打开颜色对话框,并指定默认颜色,父对象和对话框标题
myColor = QColorDialog::getColor(myColor,this,tr("选择颜色"));
//输出颜色
qDebug() << myColor;

5.2使用对象;

//创建一个QColor
QColor myColor(222,111,123);
//创建一个颜色对话框,并指定初始颜色和父对象
QColorDialog myColorDialog(myColor,this);
//设置option
myColorDialog.setOption(QColorDialog::ShowAlphaChannel);
//将对话框显示为模态对话框,阻塞直到用户关闭它
myColorDialog.exec();
//获取当前选中的颜色
myColor = myColorDialog.currentColor();
//输出颜色
qDebug() << myColor;
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值