#include "mainwin.h"
#include "ui_mainwin.h"
#include <QDial>
#include<QString>
mainwin::mainwin(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::mainwin)
{
ui->setupUi(this);
//设置dial的最小最大值
ui->dial_r->setMinimum(0);
ui->dial_r->setMaximum(255);
ui->dial_g->setMinimum(0);
ui->dial_g->setMaximum(255);
ui->dial_b->setMinimum(0);
ui->dial_b->setMaximum(255);
//连接信号与槽
connect(ui->dial_r,SIGNAL(sliderMoved(int)),this,SLOT(on_dial_color()));
connect(ui->dial_g,SIGNAL(sliderMoved(int)),this,SLOT(on_dial_color()));
connect(ui->dial_b,SIGNAL(sliderMoved(int)),this,SLOT(on_dial_color()));
}
mainwin::~mainwin()
{
delete ui;
}
void mainwin::on_dial_color()
{
QString set_win_color;
QString color_r(QString::number(ui->dial_r->value()));//获取dial刻度值并转化 QString
QString color_g(QString::number(ui->dial_g->value()));
QString color_b(QString::number(ui->dial_b->value()));
//拼接得到qss语句,语句内容设置背景颜色
set_win_color= QString("background-color:rgb(%1,%2,%3);").arg(color_r).arg(color_g).arg(color_b);
color_r.clear();//清空 存储rgb颜色值的QString 语句
color_g.clear();
color_b.clear();
this->setStyleSheet(set_win_color);//通过调用setStyleSheet()设置背景颜色
}
效果