#include "brightwin.h" #include #include #include #include #include #include #include #include #include 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(); }