1.前言
QT里可以通过滑动条Slider控制文本控件textEdit,进行合成各种颜色
2.演示
3.原理
首先创建4个horizontalSlider和textEdit,分别命名代表RGB和透明度Alpha(注意:最大值都统一设置为255)
ui->setupUi(this);//在构造函数写入槽函数
connect(ui->GreenSlider,SIGNAL(valueChanged(int)),
this,SLOT(on_RedSlider_valueChanged(int)));
connect(ui->BlueSlider,SIGNAL(valueChanged(int)),
this,SLOT(on_RedSlider_valueChanged(int)));
connect(ui->AlphaSlider,SIGNAL(valueChanged(int)),
this,SLOT(on_RedSlider_valueChanged(int)));
void Widget::on_RedSlider_valueChanged(int value)
{
Q_UNUSED(value);//屏蔽警告
QColor color;
int R = ui->RedSlider->value();//带入颜色数值
int G = ui->GreenSlider->value();
int B = ui->BlueSlider->value();
int alpha = ui->AlphaSlider->value();
color.setRgb(R,G,B,alpha);//将颜色数值写入
QPalette pal = ui->textEdit->palette();
pal.setColor(QPalette::Base,color);
ui->textEdit->setPalette(pal);//设置textEdit的背景颜色
}