第20課 Qt中的標準對話方塊(中)

來源:互聯網
上載者:User

標籤:

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_OBJECTprivate:    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中的標準對話方塊(中)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.