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

本文介绍如何使用Qt创建一个简单的GUI应用,该应用包含一个颜色选择按钮和一个颜色显示框。通过调用QColorDialog组件,用户可以自定义颜色,并实时预览所选颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、新建"QT GUI",基类选择"QDialog',取消“创建界面”

2、dialog.cpp中:

#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

3、dialog.cpp中

#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));
    }
}

 

4、效果

效果图

5、

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

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

 

转载于:https://my.oschina.net/u/3919756/blog/1941722

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值