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