QtQSliderEx
Update QtQSliderEx
This commit is contained in:
parent
5b853efa3c
commit
2a24f02b90
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的具体值
|
||||
}
|
25
QtQSliderEx/ExQSlider.h
Normal file
25
QtQSliderEx/ExQSlider.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef EXQSLIDER_H
|
||||
#define EXQSLIDER_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace Ui {
|
||||
class ExQSlider;
|
||||
}
|
||||
|
||||
class ExQSlider : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ExQSlider(QWidget *parent = nullptr);
|
||||
~ExQSlider();
|
||||
|
||||
public slots:
|
||||
void onSetClolor(int val);
|
||||
|
||||
private:
|
||||
Ui::ExQSlider *ui;
|
||||
};
|
||||
|
||||
#endif // EXQSLIDER_H
|
157
QtQSliderEx/ExQSlider.ui
Normal file
157
QtQSliderEx/ExQSlider.ui
Normal file
@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ExQSlider</class>
|
||||
<widget class="QWidget" name="ExQSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>644</width>
|
||||
<height>284</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>ExQSlider</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textColour">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labRgbVal">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RGB(145, 190, 251, 255)</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QSlider" name="sliderRed">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>320</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>145</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSlider" name="sliderBlue">
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>251</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labAlpha">
|
||||
<property name="text">
|
||||
<string>Alpha</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labBlue">
|
||||
<property name="text">
|
||||
<string>Blue</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labRed">
|
||||
<property name="text">
|
||||
<string>Red</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labGreen">
|
||||
<property name="text">
|
||||
<string>Green</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSlider" name="sliderGreen">
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>190</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QSlider" name="sliderAlpha">
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>255</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
40
QtQSliderEx/QtQSliderEx.pro
Normal file
40
QtQSliderEx/QtQSliderEx.pro
Normal file
@ -0,0 +1,40 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2019-08-20T23:59:16
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = QtQSliderEx
|
||||
TEMPLATE = app
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
|
||||
# You can also make your code fail to compile if you use deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
CONFIG += c++11
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
ExQSlider.cpp
|
||||
|
||||
HEADERS += \
|
||||
ExQSlider.h
|
||||
|
||||
FORMS += \
|
||||
ExQSlider.ui
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
11
QtQSliderEx/main.cpp
Normal file
11
QtQSliderEx/main.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
#include "ExQSlider.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
ExQSlider w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
Loading…
Reference in New Issue
Block a user