一、新建工程:点击文件,
二、UI界面拖放label、LCDNumber和Combox控件,如下图所示:
三、MainWindow.h中声明槽函数
//MainWindow.h文件
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_comboBox1_currentTextChanged(const QString &arg1);//槽函数1
void on_comboBox_activated(const QString &arg1);//槽函数2
private:
Ui::MainWindow *ui;
QStringList clist;
void show_info(); //函数声明
};
#endif
四、MainWindow.cpp中编辑槽函数
//MainWindow.cpp文件
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//combox初始化填充下拉框项次
clist<<"Dev1"<<"Dev2";
ui->comboBox->addItems(clist);
ui->label->setPixmap(QPixmap(QString::fromUtf8("image/icon_relay_init.png")));
MainWindow::show_info();
}
//函数功能实现label图片的切换,lcdNumber显示值的更新
void MainWindow::on_comboBox_activated(const QString &arg1)
{
uint8_t index_u8 = ui->comboBox->currentIndex();
if(index_u8==0)//下拉框选择Dev1时
{
ui->label->adjustSize();
ui->label->setPixmap(QPixmap(QString::fromUtf8("image/icon_logo.png")));
ui->label->adjustSize();
ui->label->setScaledContents(true);
ui->lcdNumber->display(index_u8);
}
else if(index_u8==1)//下拉框选择Dev2时
{
ui->label->setPixmap(QPixmap(QString::fromUtf8("image/icon_relay_true.png")));
ui->label->adjustSize();
ui->label->setScaledContents(true);
ui->lcdNumber->display(index_u8);
}
}