#include "mdevicesetting.h" #include "ui_mdevicesetting.h" #include #include mDeviceSetting::mDeviceSetting(QWidget *parent) : QWidget(parent), ui(new Ui::mDeviceSetting) { setAttribute(Qt::WA_DeleteOnClose); ui->setupUi(this); bnBrightnessAdjustMent = new QPushButton(); bnBrightnessAdjustMent->setObjectName("bnBrightnessAdjustMent"); bnBrightnessAdjustMent->setText( "\n\n\n" + tr("Brightness Adjustment")); bnBrightnessAdjustMent->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnBrightnessAdjustMent->setProperty("ssType", "mainSwitcher"); bnPowerControl = new QPushButton(); bnPowerControl->setObjectName("bnPowerControl"); bnPowerControl->setText("\n\n\n" + tr("Power Control")); bnPowerControl->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnPowerControl->setProperty("ssType", "mainSwitcher"); bnNetConfig = new QPushButton(); bnNetConfig->setObjectName("bnNetConfig"); bnNetConfig->setText("\n\n\n" + tr("Net Config")); bnNetConfig->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnNetConfig->setProperty("ssType", "mainSwitcher"); bnVerifyClock = new QPushButton(); bnVerifyClock->setObjectName("bnVerifyClock"); bnVerifyClock->setText( "\n\n\n" + tr("Time Synchronization")); bnVerifyClock->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnVerifyClock->setProperty("ssType", "mainSwitcher"); bnHdmiInput = new QPushButton(); bnHdmiInput->setObjectName("bnHdmiInput"); bnHdmiInput->setText( "\n\n\n" + tr("Video source")); bnHdmiInput->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnHdmiInput->setProperty("ssType", "mainSwitcher"); bnEncrypt = new QPushButton(); bnEncrypt->setObjectName("bnEncrypt"); bnEncrypt->setText( "\n\n\n" + tr("Encrypt")); bnEncrypt->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnEncrypt->setProperty("ssType", "mainSwitcher"); bnAdvParam = new QPushButton(); bnAdvParam->setObjectName("bnAdvParam"); bnAdvParam->setText( "\n\n\n" + tr("Advanced parameters")); bnAdvParam->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnAdvParam->setProperty("ssType", "mainSwitcher"); bnVolume = new QPushButton(); bnVolume->setObjectName("bnVolume"); bnVolume->setText( "\n\n\n" + tr("Volume")); bnVolume->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnVolume->setProperty("ssType", "mainSwitcher"); bnTest = new QPushButton(); bnTest->setObjectName("bnTest"); bnTest->setText( "\n\n\n" + tr("Test")); bnTest->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnTest->setProperty("ssType", "mainSwitcher"); bnLora = new QPushButton(); bnLora->setObjectName("bnLora"); bnLora->setText( "\n\n\n" + tr("Lora")); bnLora->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);//设置组件大小可扩展 bnLora->setProperty("ssType", "mainSwitcher"); QGridLayout *plBns = new QGridLayout(); plBns->setSpacing(0);//设置间距 plBns->addWidget(bnBrightnessAdjustMent, 0, ENUM_CONTRL_WIDGET_BRIGHTNESS);//往网格的不同坐标添加不同的组件 plBns->addWidget(bnPowerControl, 0, ENUM_CONTRL_WIDGET_POWERCONTROL); plBns->addWidget(bnNetConfig, 0, ENUM_CONTRL_WIDGET_NETCONFIG); plBns->addWidget(bnVerifyClock, 0, ENUM_CONTRL_WIDGET_VERIFYCLOCK); plBns->addWidget(bnEncrypt, 0, ENUM_CONTRL_WIDGET_ENCRYPT); plBns->addWidget(bnHdmiInput, 0, ENUM_CONTRL_WIDGET_HDMIINPUT); plBns->addWidget(bnVolume, 0, ENUM_CONTRL_WIDGET_VOLUME); plBns->addWidget(bnAdvParam, 0, ENUM_CONTRL_WIDGET_ADVPARAM); plBns->addWidget(bnTest, 0, ENUM_CONTRL_WIDGET_TEST); // plBns->addWidget(bnLora, 0, ENUM_CONTRL_WIDGET_LORA); plBns->setRowStretch(0, 1);//设置行列比例系数 // plBns->setRowStretch(2, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_BRIGHTNESS, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_POWERCONTROL, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_NETCONFIG, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_VERIFYCLOCK, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_ENCRYPT, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_HDMIINPUT, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_VOLUME, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_ADVPARAM, 1); plBns->setColumnStretch(ENUM_CONTRL_WIDGET_TEST, 1); QRect rect; rect.setX(50); rect.setY(30); rect.setWidth(this->width()); rect.setHeight(this->height()); plBns->setGeometry(rect); plBns->setContentsMargins(10,10, 10, 10); setLayout(plBns);//设置顶级布局管理器 m_bns = new QButtonGroup(); m_bns->addButton(bnBrightnessAdjustMent, ENUM_CONTRL_WIDGET_BRIGHTNESS); m_bns->addButton(bnPowerControl, ENUM_CONTRL_WIDGET_POWERCONTROL); m_bns->addButton(bnNetConfig, ENUM_CONTRL_WIDGET_NETCONFIG); m_bns->addButton(bnVerifyClock, ENUM_CONTRL_WIDGET_VERIFYCLOCK); m_bns->addButton(bnEncrypt, ENUM_CONTRL_WIDGET_ENCRYPT); m_bns->addButton(bnHdmiInput, ENUM_CONTRL_WIDGET_HDMIINPUT); m_bns->addButton(bnVolume, ENUM_CONTRL_WIDGET_VOLUME); m_bns->addButton(bnAdvParam, ENUM_CONTRL_WIDGET_ADVPARAM); m_bns->addButton(bnTest, ENUM_CONTRL_WIDGET_TEST); // m_bns->addButton(bnLora, ENUM_CONTRL_WIDGET_LORA); for(int i=0; ibutton(i)->setProperty("ssType", "devicesControl"); m_bns->button(i)->setCheckable(true); if(i == 0) { m_bns->button(i)->setChecked(true);//初始按钮终端管理为选中状态 } else { m_bns->button(i)->setChecked(false); } } connect(m_bns, SIGNAL(buttonClicked(int)), parent, SLOT(onSwitchControlWidget(int))); } mDeviceSetting::~mDeviceSetting() { delete ui; } void mDeviceSetting::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } //切换语言,实时刷新翻译标签 void mDeviceSetting::refreshLable() { bnBrightnessAdjustMent->setText( "\n\n\n" + tr("Brightness Adjustment")); bnPowerControl->setText("\n\n\n" + tr("Power Control")); bnNetConfig->setText("\n\n\n" + tr("Net Config")); bnVerifyClock->setText( "\n\n\n" + tr("Time Synchronization")); bnHdmiInput->setText( "\n\n\n" + tr("Video source")); bnEncrypt->setText( "\n\n\n" + tr("Encrypt")); bnAdvParam->setText( "\n\n\n" + tr("Advanced parameters")); bnVolume->setText( "\n\n\n" + tr("Volume Adjustment")); bnTest->setText( "\n\n\n" + tr("Test")); bnLora->setText( "\n\n\n" + tr("Lora")); }