(9)QColorDialog--颜色选择对话框
来源:互联网 发布:linux traceroute ping 编辑:程序博客网 时间:2024/05/22 14:25
我姑且就把颜色选择对话框做在前面打开文件的open()槽函数中了:
//槽函数的实现void MainWindow::open(){ 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));etColor()还有一个重载的函数,签名如下:
QColorDialog::getColor( const QColor & initial, QWidget * parent, const QString & title, ColorDialogOptions options = 0 )
第一个参数initial和前面一样,是对话框打开时的默认选中的颜色;
第二个参数parent,设置对话框的父组件;
第三个参数title,设置对话框的title;
第四个参数options,是QColorDialog::ColorDialogOptions类型的,可以设置对话框的一些属性,如是否显示Alpha值等,具体属性请查阅API文档。特别的,这些值是可以使用OR操作的。
QColorDialog相对简单一些,API文档也很详细,遇到问题可以查阅文档。
0 0
- (9)QColorDialog--颜色选择对话框
- PyQt5:QColorDialog颜色对话框(20)
- 弹出选择颜色对话框
- VS2010 颜色选择对话框
- Qml选择颜色对话框
- QtCreator 对话框(一)QColorDialog,QFileDialog,QFontDialog,QInputDialog
- Qt标准对话框之QColorDialog
- Qt标准对话框之QColorDialog
- ASP.NET 颜色选择对话框
- 颜色选择对话框CColorDialog类
- MFC 调用颜色选择对话框
- MFC显示颜色选择对话框
- 应用颜色选择和字体选择对话框
- 字体选择对话框CFontDialog(没有实现颜色设置)
- QColorDialog
- Qt标准对话框之 QColorDialog-16
- WEB调用系统颜色选择对话框
- wxPython:颜色选择对话框wx.ColourDialog
- 退避算法
- get和set方法
- MagicalRecord 增查改删 基本用法
- Apache虚拟主机配置
- android HLS Nuplayer分析
- (9)QColorDialog--颜色选择对话框
- 如何在oracle中导入.sql数据结构文件和.dmp数据文件??
- 九度OJ 题目1129:Skew数
- 监督自己
- Web系统大规模并发——电商秒杀与抢购
- bat 批处理 注册表查找,删除
- IT行业发展前景分析
- The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDat
- Android之——史上最简单图片轮播广告效果实现