码迷,mamicode.com
首页 > 其他好文 > 详细

第20课 Qt中的标准对话框(中)

时间:2016-05-01 20:32:46      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:

1. 颜色对话框:QColorDialog

(1)QColorDialog类

  ①Qt中提供了预定义的颜色对话框类(QColorDialog)

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

  ③颜色对话框的使用方式(见后面的实例)

  ④QColorDialog中的实用函数:QColorDialog::getColor

(2)QColor类:用来表示颜色的概念,同时支持多种的颜色表示方式

  ①RGB:以红、绿、蓝为基准的三色模型

  ②HSV:以色调、饱和度、明度为基准的六角锥体模型

  ③CMYK:以天蓝、品红、黄色、黑色为基准的全彩印刷色彩模型

2. 输入对话框:QInputDialog

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

技术分享

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

(3)输入对话框的使用方式(见后面的实例分析)

(4)输入对话框的输入模式

  ①QInputDialog::TextInput ——输入文本字符串

  ②QInputDialog::IntInput  ——输入整形数

  ③QInputDialog::DoubleInput——输入浮点数

(5)QInputDialog中的实用函数

  ①QInputDialog::getDouble

  ②QInputDialog::getInt

  ③QInputDialog::getItem

  ④QInputDialog::getText

【编程实验】颜色对话框和输入对话框使用实例

//main.cpp

#include <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 <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_H_

//Widget.cpp

#include "Widget.h"
#include <QColorDialog>
#include <QInputDialog>
#include <QDebug>

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(&InputDialogBtn, SIGNAL(clicked()), this, SLOT(InputDialogBtn_Clicked()));
    connect(&ColorDialogBtn, SIGNAL(clicked()), this, SLOT(ColorDialogBtn_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() <<"red:  " << color.red();
        qDebug() <<"green:" << color.green();
        qDebug() <<"blue: " << color.blue();
        qDebug() <<"hue:  " << color.hue();
        qDebug() <<"saturation:" << color.saturation();
        qDebug() <<"value: " << color.value();
    }
}

void Widget::InputDialogBtn_Clicked()
{
    QInputDialog dlg(this);

    dlg.setWindowTitle("Input Test");
    dlg.setLabelText("Please input an integer:");
    dlg.setInputMode(QInputDialog::IntInput);

    if(dlg.exec() == QInputDialog::Accepted)
    {
        qDebug() << dlg.intValue();
    }
}

Widget::~Widget()
{

}

3. 小结

(1)QColorDialog类用于提供指定颜色的对话框部件

(2)QColor类用来在程序中表示颜色的概念

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

第20课 Qt中的标准对话框(中)

标签:

原文地址:http://www.cnblogs.com/5iedu/p/5451054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!