Files
handleaiuinew/HanddleAI/HandleAiUi-new/uiModule/uiModule_switchProduct.h
T
2024-05-31 01:57:55 +08:00

81 lines
1.9 KiB
C++

#include <qwidget.h>
#include <qlabel.h>
#include <qcombobox.h>
#include <qlayout.h>
#include <qpushbutton.h>
class switchProductWidget : public QWidget
{
public:
QLabel* staticLabel = new QLabel(this);
int* currentProductIndexPtr;
QHBoxLayout* layout = new QHBoxLayout(this);
fancyButtonText* switchBtn = new fancyButtonText(100, 60, "修改", "修改当前机型");
QComboBox* productSelect = new QComboBox(this);
QLabel* currentProduct = new QLabel(this);
switchProductWidget()
{
currentProductIndexPtr = &bridge.currentProductIndex;
QPalette palette;
palette.setColor(QPalette::WindowText, Qt::white);
QFont font("微软雅黑", 14, QFont::Bold);
this->setLayout(layout);
staticLabel->setText("当前型号:");
staticLabel->setFont(font);
staticLabel->setPalette(palette);
layout->addWidget(staticLabel);
productSelect->addItem("产品1");
productSelect->addItem("产品2");
productSelect->setPalette(palette);
productSelect->setFont(font);
layout->addWidget(productSelect);
productSelect->hide();
currentProduct->setText("产品1");
currentProduct->setFont(font);
currentProduct->setPalette(palette);
layout->addWidget(currentProduct);
layout->addWidget(switchBtn);
connect(switchBtn, &QPushButton::clicked, this, &switchProductWidget::startSwitch);
connect(productSelect, &QComboBox::currentTextChanged, this, &switchProductWidget::currentProductSwitch);
}
private:
int siwtchBtnState = 0;
private slots:
void startSwitch()
{
if(siwtchBtnState == 0)
{
currentProduct->hide();
productSelect->show();
switchBtn->setText("取消");
siwtchBtnState = 1;
return;
}
else if (siwtchBtnState == 1)
{
currentProduct->show();
productSelect->hide();
switchBtn->setText("修改");
siwtchBtnState = 0;
return;
}
}
void currentProductSwitch(QString input)
{
int index = productSelect->currentIndex();
*currentProductIndexPtr = index;
currentProduct->setText(input);
startSwitch();
}
};
#pragma once