本文主要是介绍嵌入式Qt 标准对话框 - 颜色对话框QColorDialog-输入对话框QInputDialog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.颜色对话框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 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();
}
三.对话框代码实现
main.c:
#include <QtGui/QApplication>
#include "Widget.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
Widget.h
#ifndef _WIDGET_H_
#define _WIDGET_H_#include <QtGui/QWidget>
#include <QPushButton>class Widget : public QWidget
{Q_OBJECT
private: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 <QDebug>
#include <QColorDialog>
#include <QInputDialog>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(QColor(100, 111, 222));if( dlg.exec() == QColorDialog::Accepted ){QColor color = dlg.selectedColor();qDebug() << color;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);if( dlg.exec() == QInputDialog::Accepted ){qDebug() << dlg.textValue();}
}Widget::~Widget()
{}
这篇关于嵌入式Qt 标准对话框 - 颜色对话框QColorDialog-输入对话框QInputDialog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!