QtQSliderEx
Update QtQSliderEx
This commit is contained in:
52
QtQSliderEx/ExQSlider.cpp
Normal file
52
QtQSliderEx/ExQSlider.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#include "ExQSlider.h"
|
||||
#include "ui_ExQSlider.h"
|
||||
#include <QPalette>
|
||||
|
||||
ExQSlider::ExQSlider(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::ExQSlider)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
//设置QSlider的最大值为255 (默认范围为0~100)
|
||||
ui->sliderRed->setMaximum(255);
|
||||
ui->sliderGreen->setMaximum(255);
|
||||
ui->sliderBlue->setMaximum(255);
|
||||
ui->sliderAlpha->setMaximum(255);
|
||||
|
||||
//初始化QTextEdit的颜色 (否则默认就是白灰色)
|
||||
QColor color;
|
||||
color.setRgb(145, 190, 251, 255);
|
||||
QPalette palette = ui->textColour->palette();
|
||||
palette.setColor(QPalette::Base, color);
|
||||
ui->textColour->setPalette(palette);
|
||||
|
||||
//连接信号与槽,多个信号,对应一个槽函数
|
||||
connect(ui->sliderRed, SIGNAL(valueChanged(int)), this, SLOT(onSetClolor(int)));
|
||||
connect(ui->sliderGreen, SIGNAL(valueChanged(int)), this, SLOT(onSetClolor(int)));
|
||||
connect(ui->sliderBlue, SIGNAL(valueChanged(int)), this, SLOT(onSetClolor(int)));
|
||||
connect(ui->sliderAlpha, SIGNAL(valueChanged(int)), this, SLOT(onSetClolor(int)));
|
||||
}
|
||||
|
||||
ExQSlider::~ExQSlider()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ExQSlider::onSetClolor(int val)
|
||||
{
|
||||
Q_UNUSED(val)
|
||||
|
||||
int nRed = ui->sliderRed->value(); //获取红绿蓝(RGB)的Slider的数值
|
||||
int nGreen = ui->sliderGreen->value();
|
||||
int nBlue = ui->sliderBlue->value();
|
||||
int nAlpha = ui->sliderAlpha->value();
|
||||
|
||||
QColor color;
|
||||
color.setRgb(nRed, nGreen, nBlue, nAlpha);
|
||||
QPalette palette = ui->textColour->palette(); //获取textColour控件的所有颜色值(调色板)
|
||||
palette.setColor(QPalette::Base, color); //设置textColou的某一角色(即控件)的颜色
|
||||
ui->textColour->setPalette(palette);
|
||||
|
||||
ui->labRgbVal->setText(QString("RGB(%1, %2, %3, %4)").arg(nRed).arg(nGreen).arg(nBlue).arg(nAlpha)); //时刻显示RGBa的具体值
|
||||
}
|
||||
Reference in New Issue
Block a user