0
点赞
收藏
分享

微信扫一扫

Qt小项目(二):调色器

UI

在这里插入图片描述

代码

#include "widget.h"
#include "ui_widget.h"
#include "string"
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->red,SIGNAL(valueChanged(int)),this,SLOT(on_all_valueChanged(int )));
    connect(ui->green,SIGNAL(valueChanged(int)),this,SLOT(on_all_valueChanged(int )));
    connect(ui->blue,SIGNAL(valueChanged(int)),this,SLOT(on_all_valueChanged(int)));
    connect(ui->alpha,SIGNAL(valueChanged(int)),this,SLOT(on_all_valueChanged(int)));

}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_all_valueChanged(int value)
{
    Q_UNUSED(value);
    QColor color;
    int r = ui->red->value();
    int g = ui->green->value();
    int b = ui->blue->value();
    int a = ui->alpha->value();
    color.setRgb(r,g,b,a);
    QPalette pal = ui->textEditColor->palette();
    pal.setColor(QPalette::Base,color);
    ui->textEditColor->setPalette(pal);
}

代码解读

	Q_UNUSED(value);//用来避免由于没有使用value导致的编译器警告
	QColor color;//实例化颜色类
	color.setRgb(r,g,b,a);//设置颜色
	QPalette pal = ui->textEditColor->palette();//调色板
	pal.setColor(QPalette::Base,color);//调色板设置颜色,Base是背景色
	ui->textEditColor->setPalette(pal);//将颜色输入到控件里面

关于QPalette::Base,详情见Qt帮助文档

在这里插入图片描述

举报

相关推荐

0 条评论