Qt 实例9 QColor应用:通过数值进行颜色设置 您所在的位置:网站首页 添加数值调节按钮 Qt 实例9 QColor应用:通过数值进行颜色设置

Qt 实例9 QColor应用:通过数值进行颜色设置

2023-05-19 14:19| 来源: 网络整理| 查看: 265

        Qt中,通过QSlider进行拖动、QLineEdit进行数值设置,联动设置QColor颜色值。并通过QTextEdit文本框进行设置颜色的显示。

1、创建工程并进行界面设计。创建基于QWidget基类的Qt界面应用程序,并在主界面添加相关控件如下:

界面控件依次为:QLabel、QSlider、QLineEdit、QLabel、QSlider、QLineEdit、QLabel、QSlider、QLineEdit、QTextEdit。

2、创建创建槽函数及类私有函数

.h头文件创建槽函数及类私有函数:

#ifndef WIDGET_H #define WIDGET_H #include namespace Ui { class Widget; } class Widget : public QWidget {     Q_OBJECT public:     explicit Widget(QWidget *parent = 0);     ~Widget(); protected slots:     void sliderValueChanged(int);     void lineEditTextChanged(QString); private:     Ui::Widget *ui; }; #endif // WIDGET_H

.cpp源文件构造函数内绑定槽函数,并实现槽函数

#include "widget.h" #include "ui_widget.h" #include Widget::Widget(QWidget *parent) :     QWidget(parent),     ui(new Ui::Widget) {     ui->setupUi(this);     ui->horizontalSlider_alpha->setValue(255);     QColor color;     color.setRgb(0,0,0,255);     QPalette palette = ui->textEdit->palette();     palette.setColor(QPalette::Base,color);     ui->textEdit->setPalette(palette);     connect(ui->horizontalSlider_red,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));     connect(ui->horizontalSlider_green,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));     connect(ui->horizontalSlider_blue,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));     connect(ui->horizontalSlider_alpha,SIGNAL(valueChanged(int)),this,SLOT(sliderValueChanged(int)));     connect(ui->lineEdit_red,SIGNAL(textChanged(QString)),this,SLOT(lineEditTextChanged(QString)));     connect(ui->lineEdit_green,SIGNAL(textChanged(QString)),this,SLOT(lineEditTextChanged(QString)));     connect(ui->lineEdit_blue,SIGNAL(textChanged(QString)),this,SLOT(lineEditTextChanged(QString)));     connect(ui->lineEdit_alpha,SIGNAL(textChanged(QString)),this,SLOT(lineEditTextChanged(QString))); } Widget::~Widget() {     delete ui; } void Widget::sliderValueChanged(int value) {     int Red = ui->horizontalSlider_red->value();     ui->lineEdit_red->setText(QString::number(Red));     int Green = ui->horizontalSlider_green->value();     ui->lineEdit_green->setText(QString::number(Green));     int Blue = ui->horizontalSlider_blue->value();     ui->lineEdit_blue->setText(QString::number(Blue));     int Alpha = ui->horizontalSlider_alpha->value();     ui->lineEdit_alpha->setText(QString::number(Alpha));     QColor color;     color.setRgb(Red,Green,Blue,Alpha);     QPalette palette = ui->textEdit->palette();     palette.setColor(QPalette::Base,color);     ui->textEdit->setPalette(palette); } void Widget::lineEditTextChanged(QString text) {     int Red = ui->lineEdit_red->text().toInt();     ui->horizontalSlider_red->setValue(Red);     int Green = ui->lineEdit_green->text().toInt();     ui->horizontalSlider_green->setValue(Green);     int Blue = ui->lineEdit_blue->text().toInt();     ui->horizontalSlider_blue->setValue(Blue);     int Alpha = ui->lineEdit_alpha->text().toInt();     ui->horizontalSlider_alpha->setValue(Alpha);     QColor color;     color.setRgb(Red,Green,Blue,Alpha);     QPalette palette = ui->textEdit->palette();     palette.setColor(QPalette::Base,color);     ui->textEdit->setPalette(palette); }

3、点击【运行】或【Ctrl+R】运行程序。可以通过拖动QSlider或在QLineEdit控件输入数值进行颜色设置。

后续公众号会发布系列教程,更多内容请关注公众号:Qt程序猿



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有