`
izuoyan
  • 浏览: 9222097 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Qt学习之路(16): Qt标准对话框之QColorDialog

阅读更多
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/214164
继续来说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::getColor( 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标准对话框

    在Qt中,标准对话框是用户与应用程序交互的重要组成部分,它们为用户提供了一种标准且直观的方式来执行特定任务,如选择颜色、设置字体、显示消息或报告进度。下面我们将详细讨论Qt中的标准对话框及其使用。 1. **...

    Qt 学习之路:DZY

    ### Qt学习之路:核心知识点概览 #### 一、前言 - **Qt简介**:Qt是一个跨平台的C++图形用户界面应用程序开发框架。它不仅支持Windows、macOS、Linux等主流操作系统,还能用于开发嵌入式系统、移动设备应用(如...

    Qt学习之路.pdf

    ### Qt学习之路知识点总结 #### 一、基础知识与入门 - **Hello, World!** - **知识点**:Qt环境搭建、第一个Qt程序编写、基本的窗口显示。 - **重要性**:作为Qt初学者的第一课,通过简单的示例程序帮助理解Qt的...

    QT中实现8个基本对话框

    本文将详细讲解如何在QT5.8环境下,在Windows7系统上使用C++实现8个基本对话框:颜色对话框、文件对话框、字体对话框、输入对话框、消息对话框、进度对话框、向导对话框和错误信息对话框。 1. 颜色对话框...

    其实这本PDF就是Qt学习之路第一版

    ### Qt学习之路知识点总结 #### 一、前言:Qt简介与选择 - **Qt**是一种跨平台的应用程序开发框架,广泛应用于桌面、移动设备及嵌入式系统的GUI应用程序开发。 - C++的GUI编程并非C++标准的一部分,因此开发者在...

    Qt标准对话框设置,设置字体、调色板、进度条

    常见的标准对话框有消息框(QMessageBox)、文件对话框(QFileDialog)、颜色选择对话框(QColorDialog)和字体选择对话框(QFontDialog)等。这些对话框提供了预定义的功能,使得开发者可以快速创建用户友好的界面...

    day3 QT对话框(标准对话框演示代码)

    "day3 QT对话框(标准对话框演示代码)"这个标题表明我们将探讨QT中的对话框(Dialog)组件,这些对话框通常用于用户与应用程序进行交互,比如保存、打开文件、输入信息等。 在QT中,标准对话框主要包括以下几个...

    QT学习之路

    9. "QT标准对话框之QFILEDIALOG, QCOLORDIALOG, QMESSAGEBOX, QINPUTDIALOG" 这些是Qt预构建的通用对话框,用于文件选择、颜色选择、信息显示和输入框等,它们可以用来快速实现常见的用户交互需求。 10. "事件"、...

    Qt基本对话框实现

    在提供的`DialogExample`中,可能包含了上述各种对话框的示例代码,通过查看和学习这些代码,你可以更好地理解和掌握Qt中的标准对话框使用方法。实践中,根据项目需求,你可以灵活组合和自定义这些对话框,以创建...

    qt 内建对话框

    Qt内建对话框是Qt库中的重要组成部分,用于在图形用户界面(GUI)应用程序中提供标准的用户交互功能。这些对话框通常用于执行常见的任务,如打开或保存文件、显示消息、设置选项等,为用户提供统一且直观的操作体验...

    qt学习——内置对话框

    在Qt编程中,内置对话框是用户界面设计中不可或缺的一部分,它们为用户提供了一种与应用程序交互的标准方式。本文将深入探讨Qt中的内置对话框,并基于提供的文件名,我们可以推测这是一份关于Qt内置对话框的学习笔记...

    QtCreator开发的常用对话框

    学习这些对话框的使用不仅涉及代码实现,还包括对Qt信号和槽机制的理解,以及如何使用布局管理器来组织对话框内的控件。在Qt Creator中,你可以利用其内置的UI设计器来拖放控件,预览和布局对话框,然后自动生成对应...

    Qt内置对话框

    Qt框架是C++编程语言中一个非常强大的图形用户界面(GUI)工具包,它提供了丰富的功能,包括多种内置对话框,使得开发者能够快速构建高效、美观的应用程序。对话框在GUI应用中扮演着重要的角色,它们通常用于获取...

    QT3_QT标准对话框使用_

    首先,QT提供了多种内置的标准对话框,例如QFileDialog用于文件和目录的选择,QMessageBox用于显示警告、错误或询问消息,QInputDialog用于获取单行或多行文本输入,以及QColorDialog和QFontDialog用于选择颜色和...

    Qt5 基本对话框的实现

    在学习和开发过程中,不要忘记利用Qt的文档和社区资源,它们提供了丰富的教程、示例和问题解答,有助于你深入理解Qt5的对话框使用。 总结一下,Qt5提供了丰富的对话框类,包括`QFileDialog`、`QColorDialog`、`...

    Qt实战——内置对话框

    在本文中,我们将深入探讨Qt框架中的内置对话框,这些对话框是开发高效且用户友好的桌面应用程序的关键组件。Qt是一个跨平台的应用程序开发框架,它提供了丰富的对话框类库,使得开发者能够轻松地实现与用户的交互。...

    Qt学习之路 绝对经典

    ### Qt学习之路 绝对经典 #### 一、前言:C++ GUI编程的选择与Qt简介 在C++的世界里,GUI(图形用户界面)编程并非语言标准的一部分,这与Java有所不同,在Java中,开发者可以选择AWT/Swing或SWT/JFace等标准库来...

Global site tag (gtag.js) - Google Analytics