Qt进修之路(16):Qt尺度对话框之QColorDialog
当前位置:以往代写 > C/C++ 教程 >Qt进修之路(16):Qt尺度对话框之QColorDialog
2019-06-13

Qt进修之路(16):Qt尺度对话框之QColorDialog

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

    关键字:

在线提交作业