Qt 20 标准对话框 - 颜色对话框QColorDialog,输入对话框QInputDialog
发布日期:2021-05-07 13:26:08 浏览次数:23 分类:精选文章

本文共 3324 字,大约阅读时间需要 11 分钟。

颜色对话框QColorDialog

QT中提供了预定义的颜色对话框 QColorDialog类

QColorDialog类用于提供颜色的对话框部件

颜色对话框使用:

//构造颜色对话框对象 并指定父窗口QColorDialog dlg(this);//设置颜色对话框的相关属性dlg.setWindowTitle("Color Editor");//设置标题dlg.setCurrenColor(Qt :: red);// 初始颜色//以模态方式打开颜色对话框if(dlg.exec() == QColorDialog :: Accepted){qDebug() << dlg.selectedColor();}

Qt 中的QColor类用来在程序中表示颜色的概念

QColor类同时支持多种颜色表示方式RGB:以 红绿蓝为基准的三色模型HSV:以 色调 饱和度 明度 为基准的 六角锥模型CMYK:以天蓝 品红 黄色 黑 为基准的全彩印刷色彩模型

输入对话框 QInputDialog

Qt中提供了预定义的输入对话框 QInputDialog类

QInputDialog类用于需要临时进行数据输入的场合

输入对话框的使用

//构造输入对话框 并指定父组件QInputDialog dlg(this);//设置输入对话框的相关属性dlg.setWindowTitle("Input...");//窗口标题dlg.setLabelText("Please enter a integer:");//提示用户信息//设置当前输入对话框 输入内容类型 :/* 输入对话框的输入模式:QInputDialog :: TextInput 输入文本字符串QInputDialog :: IntInput 输入整形数QInputDialog :: DoubleInput 输入浮点数*/dlg.setInputMode(QInputDialog ::IntInput);//以模态形式使用输入对话框if(dlg.exec() == QInputDialog::Accepted){qDebug() << dlg.intValue();}

实验:

widget.h

#ifndef _WIDGET_H_#define _WIDGET_H_#include 
#include
class Widget : public QWidget{ Q_OBJECTprivate: QPushButton ColorDialogBtn; QPushButton InputDialogBtn;private slots: void ColorDialogBtn_Clicked(); void InputDialogBtn_Clicked();public: Widget(QWidget *parent = 0); ~Widget();};

#endif

widget.cpp

#include "Widget.h"#include 
#include
#include
Widget::Widget(QWidget *parent) : QWidget(parent), ColorDialogBtn(this), InputDialogBtn(this){ ColorDialogBtn.setText("Color Dialog"); ColorDialogBtn.move(20, 20); ColorDialogBtn.resize(160, 30); InputDialogBtn.setText("Input Dialog"); InputDialogBtn.move(20, 70); InputDialogBtn.resize(160, 30); resize(200, 120); setFixedSize(200, 120); connect(&ColorDialogBtn, SIGNAL(clicked()), this, SLOT(ColorDialogBtn_Clicked())); connect(&InputDialogBtn, SIGNAL(clicked()), this, SLOT(InputDialogBtn_Clicked()));}//颜色对话框对象使用void Widget::ColorDialogBtn_Clicked(){ //创建颜色对话框对象 并 指定父窗口 QColorDialog dlg(this); //设置颜色对话框标题 dlg.setWindowTitle("Color Editor"); //设置初始颜色 //dlg.setCurrentColor(Qt::blue); //初始颜色为蓝色 dlg.setCurrentColor(QColor(100, 111, 222));//自定义颜色QColor(100, 111, 222) //以模态方式打开颜色对话框 if( dlg.exec() == QColorDialog::Accepted ) { //创建颜色对象,selectedColor()选择在对话框中选择的颜色 QColor color = dlg.selectedColor(); qDebug() << color; //rgb模型 qDebug() << color.red(); qDebug() << color.green(); qDebug() << color.blue(); //六角椎体模型 qDebug() << color.hue(); qDebug() << color.saturation(); qDebug() << color.value(); }}void Widget::InputDialogBtn_Clicked(){ //构造输入对话框 并指定父组件 QInputDialog dlg(this); //设置输入对话框的相关属性 dlg.setWindowTitle("Input Test");//窗口标题 dlg.setLabelText("Please input an integer:");//提示用户信息 //输入对话框的输入模式 字符串 dlg.setInputMode(QInputDialog::TextInput); //dlg.setInputMode(QInputDialog::IntInput ); //dlg.setIntMinimum(0); //dlg.setIntMaximum(255); //以模态形式使用输入对话框 if( dlg.exec() == QInputDialog::Accepted ) { qDebug() << dlg.textValue();//返回输入的字符串 //qDebug() << dlg.intValue();//返回输入的整形 }}Widget::~Widget(){ }

main.cpp

#include 
#include "Widget.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}

在这里插入图片描述

在这里插入图片描述

上一篇:Qt 22 布局管理器1 - QLayout,QBoxLayout,布局管理器的相互嵌套
下一篇:Qt 19 标准对话框 -消息对话框QMessageBox ,文件选择对话框QFileDialog

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年03月29日 22时58分28秒