当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>Qt学习之路(28):坐标变更</b>
  • Qt学习之路(29):画图设备
  • <b>Qt学习之路(30):Graphics View Framework</b>
  • <b>Qt学习之路(31):一个简易画板的实现(QWidget)</b>
  • Qt学习之路(32):一个简易画板的实现(Graphics View)
  • Qt学习之路(33):国际化(上)
  • <b>Qt学习之路(34):国际化(下)</b>
  • <b>Qt学习之路(9):深化理解信号槽</b>
  • Qt学习之路(10):Meta-Object系统
  • <b>Qt学习之路(11):MainWindow</b>
  • <b>Qt学习之路(12):菜单和工具条</b>
  • <b>Qt学习之路(13):菜单和工具条(续)</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .