Qt学习之路(16):Qt尺度对话框之QColorDialog[VC/C++编程]
本文“Qt学习之路(16):Qt尺度对话框之QColorDialog[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
持续来说Qt的尺度对话框,这次说说QColorDialog.这是Qt供应的颜色挑选对话框.
利用QColorDialog也很简单,Qt供应了getColor()函数,近似于QFileDialog的getOpenFileName(),可以直接得到挑选的颜色.我们还是利用前面的QAction来测试下这个函数:
QColor color = QColorDialog::getColor(Qt::white, this);
QString msg = QString("r: %1, g: %2, b: %3").arg(QString::number(color.red()), QString::number(color.green()), QString::number(color.blue()));
QMessageBox::information(NULL, "Selected color", msg);
不要忘掉include QColorDialog哦!这段代码固然很少,但是内容并不少.
第一行QColorDialog::getColor()调用了QColorDialog的static函数getColor().这个函数有两个参数,第一个是QColor范例,是对话框翻开时默许挑选的颜色,第二个是它的parent.
第二行对比长,触及到QString的用法.假如我没记错的话,这些用法还没有提到过,本着“有效就说”的原则,固然这些和 QColorDialog毫不相关,这里还是注释一下.QString("r: %1, g: %2, b: %3")成立了一个QString对象.我们利用了参数化字符串,也就是那些%1之类.在Java的properties文件中,字符参数是用{0}, {1}之类实现的.其实这都是一些占位符,也就是,背面会用别的字符串替换掉这些值.占位符的替换需求利用QString的arg()函数.这个函数会返回它的调用者,因此可以利用链式调用写法.它会按照次序替换掉占位符.然后是QString::number()函数,这也是QString的一个 static函数,作用就是把int、double等值换成QString范例.这里是把QColor的R、G、B三个值输出了出来.关于QString 类,我们会在今后具体阐明.
第三行就对比简单了,利用一个消息对话框把方才拼接的字符串输出.
目前便可以运行这个测试程序了.看上去很简单,不是吗?
QColorDialog还有一些其他的函数可以利用.
QColorDialog::setCustomColor()可以设置用户自定义颜色.这个函数有两个值,第一个是自定义颜色的索引,第二个是自定义颜色的RGB值,范例是QRgb,大家可以查阅API文档来看看这个类的利用,下面只给出一个简单的用发:
QColorDialog::setCustomColor(0, QRgb(0x0000FF));
getColor()还有一个重载的函数,签名以下:
QColorDialog::( const QColor & initial, QWidget * parent, const QString & title, ColorDialogOptions options = 0 )
第一个参数initial和前面一样,是对话框翻开时的默许选中的颜色;
第二个参数parent,设置对话框的父组件;
第三个参数title,设置对话框的title;
第四个参数options,是QColorDialog::ColorDialogOptions范例的,可以设置对话框的一些属性,如能否显示Alpha值等,具体属性请查阅API文档.分外的,这些值是可以利用OR操作的.
QColorDialog相对简单一些,API文档也很具体,大家碰到问题可以查阅文档的哦!
出处:http://devbean.blog.51cto.com/448512/214164
以上是“Qt学习之路(16):Qt尺度对话框之QColorDialog[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |