Qt5开发及实例学习之标准颜色对话框类QColorDialog:选择某种颜色

一、新建"QT GUI",基类选择"QDialog',取消“建立界面”布局

二、dialog.cpp中:this

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QPushButton>
#include <QFrame>
#include <QGridLayout>
class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();

private:   //私有变量声明
    QPushButton *colorBtn;
    QFrame *colorFrame;
    QGridLayout *mainLayout;

private slots:
    void showColor();
};

#endif // DIALOG_H

三、dialog.cpp中code

#include "dialog.h"
#include <QGridLayout>
#include <QColorDialog>
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    colorBtn = new QPushButton;

    //控件初始化
    colorBtn->setText(tr("颜色标准对话框"));
    colorFrame = new QFrame;
    colorFrame->setFrameShape(QFrame::Box);
    colorFrame->setAutoFillBackground(true);
    //布局管理

    mainLayout = new QGridLayout(this);
    mainLayout->addWidget(colorBtn, 1, 0);
    mainLayout->addWidget(colorFrame, 1, 1);

    //
    connect(colorBtn, SIGNAL(clicked()), this, SLOT(showColor()));
}

Dialog::~Dialog()
{

}

void Dialog::showColor()
{
    QColor c = QColorDialog::getColor(Qt::blue);
    if(c.isValid()){
        colorFrame->setPalette(QPalette(c));
    }
}

 

四、效果blog

效果图

五、get

QColor color = QColorDialog::getColor
        (const QColor&initial = Qt::white, 
         QWidget * parent = 0);it

第一个参数:对话框打开时默认选择的颜色(QColor类型) 
第二个参数:它的parent class

相关文章
相关标签/搜索