197 lines
5.3 KiB
C++
197 lines
5.3 KiB
C++
|
#include "brightwin.h"
|
||
|
#include <QBoxLayout>
|
||
|
#include <QFrame>
|
||
|
#include <QLabel>
|
||
|
#include <QSpinBox>
|
||
|
#include <QSlider>
|
||
|
#include <QPushButton>
|
||
|
#include <QTableWidget>
|
||
|
#include <QHeaderView>
|
||
|
#include <QDebug>
|
||
|
|
||
|
BrightWin::BrightWin(QWidget *parent) : BaseWin{parent} {
|
||
|
setWindowModality(Qt::WindowModal);
|
||
|
setAttribute(Qt::WA_DeleteOnClose);
|
||
|
setWindowTitle("亮度控制");
|
||
|
resize(620, 700);
|
||
|
|
||
|
auto vBox = new QVBoxLayout(center);
|
||
|
vBox->setContentsMargins(0,0,0,0);
|
||
|
vBox->addLayout(addBtns(new QHBoxLayout()));
|
||
|
|
||
|
auto hBox = new QHBoxLayout();
|
||
|
hBox->addWidget(new QLabel(tr("亮度设置")));
|
||
|
|
||
|
auto line = new QFrame();
|
||
|
line->setFrameShape(QFrame::HLine);
|
||
|
line->setFrameShadow(QFrame::Sunken);
|
||
|
hBox->addWidget(line, 1);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
auto lb = new QLabel(tr("亮度")+":");
|
||
|
lb->setMinimumWidth(70);
|
||
|
lb->setAlignment(Qt::AlignRight);
|
||
|
hBox->addWidget(lb);
|
||
|
|
||
|
auto fdBright = new QSpinBox();
|
||
|
fdBright->setRange(0,255);
|
||
|
fdBright->setValue(255);
|
||
|
hBox->addWidget(fdBright);
|
||
|
|
||
|
auto sliBright = new QSlider(Qt::Horizontal);
|
||
|
sliBright->setRange(0,255);
|
||
|
sliBright->setValue(255);
|
||
|
hBox->addWidget(sliBright);
|
||
|
|
||
|
connect(fdBright, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, sliBright, &QSlider::setValue);
|
||
|
connect(sliBright, &QSlider::valueChanged, fdBright, &QSpinBox::setValue);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
lb = new QLabel(tr("对比度")+":");
|
||
|
lb->setMinimumWidth(70);
|
||
|
lb->setAlignment(Qt::AlignRight);
|
||
|
hBox->addWidget(lb);
|
||
|
|
||
|
auto fdContrast = new QSpinBox();
|
||
|
fdContrast->setRange(1,255);
|
||
|
fdContrast->setValue(64);
|
||
|
hBox->addWidget(fdContrast);
|
||
|
|
||
|
auto sliContrast = new QSlider(Qt::Horizontal);
|
||
|
sliContrast->setRange(1,255);
|
||
|
sliContrast->setValue(64);
|
||
|
hBox->addWidget(sliContrast);
|
||
|
|
||
|
connect(fdContrast, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, sliContrast, &QSlider::setValue);
|
||
|
connect(sliContrast, &QSlider::valueChanged, fdContrast, &QSpinBox::setValue);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
hBox->addStretch();
|
||
|
|
||
|
auto btnSave = new QPushButton("固化");
|
||
|
btnSave->setMinimumWidth(80);
|
||
|
hBox->addWidget(btnSave);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
hBox->addWidget(new QLabel(tr("色彩调整")));
|
||
|
|
||
|
line = new QFrame();
|
||
|
line->setFrameShape(QFrame::HLine);
|
||
|
line->setFrameShadow(QFrame::Sunken);
|
||
|
hBox->addWidget(line, 1);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
lb = new QLabel(tr("红")+":");
|
||
|
lb->setMinimumWidth(70);
|
||
|
lb->setAlignment(Qt::AlignRight);
|
||
|
hBox->addWidget(lb);
|
||
|
|
||
|
auto fdRed = new QSpinBox();
|
||
|
fdRed->setRange(0, 32768);
|
||
|
fdRed->setValue(32768);
|
||
|
hBox->addWidget(fdRed);
|
||
|
|
||
|
auto sliRed = new QSlider(Qt::Horizontal);
|
||
|
sliRed->setRange(0, 32768);
|
||
|
sliRed->setValue(32768);
|
||
|
hBox->addWidget(sliRed);
|
||
|
|
||
|
connect(fdRed, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, sliRed, &QSlider::setValue);
|
||
|
connect(sliRed, &QSlider::valueChanged, fdRed, &QSpinBox::setValue);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
lb = new QLabel(tr("绿")+":");
|
||
|
lb->setMinimumWidth(70);
|
||
|
lb->setAlignment(Qt::AlignRight);
|
||
|
hBox->addWidget(lb);
|
||
|
|
||
|
auto fdGreen = new QSpinBox();
|
||
|
fdGreen->setRange(0, 32768);
|
||
|
fdGreen->setValue(32768);
|
||
|
hBox->addWidget(fdGreen);
|
||
|
|
||
|
auto sliGreen = new QSlider(Qt::Horizontal);
|
||
|
sliGreen->setRange(0, 32768);
|
||
|
sliGreen->setValue(32768);
|
||
|
hBox->addWidget(sliGreen);
|
||
|
|
||
|
connect(fdGreen, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, sliGreen, &QSlider::setValue);
|
||
|
connect(sliGreen, &QSlider::valueChanged, fdGreen, &QSpinBox::setValue);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
lb = new QLabel(tr("蓝")+":");
|
||
|
lb->setMinimumWidth(70);
|
||
|
lb->setAlignment(Qt::AlignRight);
|
||
|
hBox->addWidget(lb);
|
||
|
|
||
|
auto fdBlue = new QSpinBox();
|
||
|
fdBlue->setRange(0, 32768);
|
||
|
fdBlue->setValue(32768);
|
||
|
hBox->addWidget(fdBlue);
|
||
|
|
||
|
auto sliBlue = new QSlider(Qt::Horizontal);
|
||
|
sliBlue->setRange(0, 32768);
|
||
|
sliBlue->setValue(32768);
|
||
|
hBox->addWidget(sliBlue);
|
||
|
|
||
|
connect(fdBlue, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, sliBlue, &QSlider::setValue);
|
||
|
connect(sliBlue, &QSlider::valueChanged, fdBlue, &QSpinBox::setValue);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
hBox->addStretch();
|
||
|
|
||
|
btnSave = new QPushButton("固化");
|
||
|
btnSave->setMinimumWidth(80);
|
||
|
hBox->addWidget(btnSave);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
|
||
|
|
||
|
hBox = new QHBoxLayout();
|
||
|
hBox->addWidget(new QLabel(tr("Gamma 调节")));
|
||
|
|
||
|
line = new QFrame();
|
||
|
line->setFrameShape(QFrame::HLine);
|
||
|
line->setFrameShadow(QFrame::Sunken);
|
||
|
hBox->addWidget(line, 1);
|
||
|
|
||
|
vBox->addLayout(hBox);
|
||
|
|
||
|
auto table = new QTableWidget(256, 2);
|
||
|
table->setSelectionBehavior(QTableWidget::SelectRows);
|
||
|
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||
|
table->setAlternatingRowColors(true);
|
||
|
table->setHorizontalHeaderLabels({"X","Y"});
|
||
|
table->horizontalHeader()->setBackgroundRole(QPalette::Window);
|
||
|
for(int i=0; i<256; i++) {
|
||
|
table->setItem(i, 0, new QTableWidgetItem(QString::number(i)));
|
||
|
}
|
||
|
|
||
|
vBox->addWidget(table);
|
||
|
|
||
|
connect(btnSave, &QPushButton::clicked, this, [] {
|
||
|
qDebug()<<"aaa";
|
||
|
|
||
|
});
|
||
|
|
||
|
vBox->addStretch();
|
||
|
}
|