Qt进修之路(16):Qt尺度对话框之QColorDialog
继承来说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