zoukankan      html  css  js  c++  java
  • 第二十课、Qt中的标准对话框(中)------------------狄泰软件学院

    一、颜色对话框

    1、Qt提供了预定义的颜色对话框QColorDialog类

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

     

    3、颜色对话框的使用方式

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

    5、QColor类同时支持多种颜色的表示方式

    (1)、RGB:以红绿蓝为基准的三色模型

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

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

    6、QColorDialog类中的实用函数

    二、输入对话框

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

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

     

    3、输入对话框的使用方式

    4、输入对话框的输入模式

    5、QInputDialog中的实用函数(在静态成员函数那里找)

    #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
    #include "Widget.h"
    #include <QColorDialog>
    #include <QInputDialog>
    #include <QDebug>
    #include <QColor>
    
    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);//1.定义
    
        dlg.setWindowTitle("Color");//2.设置
        dlg.setCurrentColor(QColor(100,111,222));//或者Qt::red
    
        if(dlg.exec() == QColorDialog::Accepted)//3.显示
        {
            qDebug() << dlg.selectedColor();
    
    
            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("QInputDialog");
        dlg.setInputMode(QInputDialog::IntInput);
        dlg.setIntMinimum(0);
        dlg.setIntMaximum(255);
    
        dlg.exec();
    }
    
    Widget::~Widget()
    {
    
    }
    Widget.cpp
    #include <QtGui/QApplication>
    #include "Widget.h"
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        Widget w;
        w.show();
        
        return a.exec();
    }
    main.cpp

    三、小结

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

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

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

  • 相关阅读:
    水洼,八连杀
    友链
    万能转换字符类型到int ,int到string,string到char or char *等等
    蓝桥杯模拟赛题
    2020 03 21
    2019 12 02 reading
    CentOS 7 定时计划任务设置
    xinted &telnet
    2019 12 02 section C one
    【暖*墟】#洛谷网课1.30# 树上问题
  • 原文地址:https://www.cnblogs.com/gui-lin/p/6402097.html
Copyright © 2011-2022 走看看