-3

我在 Qt 中编写了一个具有不同功能的程序。现在我想做一个 Gui。例如,我有两个按钮,button1 和 button2。我打开应用程序,首先看到的是 button1。然后我单击button1,它执行其功能(如“开始”)并消失。然后 button2 应该出现,当我单击 button2 时,它执行其功能(如“停止”)并消失,并且 button1 再次出现以被单击以执行启动。我现在的问题是,如何以简单的方式解决这个问题?

void gui::on_pushButton_clicked() 
{
    //execute start, switch to be button2
}

void gui::on_pushButton_2_clicked() 
{
     //execute stop, switch to be button 1
}
4

1 回答 1

0

以下似乎是最简单的解决方案,但如果您想添加更多按钮,则有点麻烦。在这种情况下,您可能需要考虑将它们存储在一个列表中并迭代该列表。

void gui::on_pushButton_clicked() 
{
    //execute start, switch to be button2

    ui->pushButton->hide();
    ui->pushButton_2->show();
} 

void gui::on_pushButton_2_clicked() 
{
     //execute stop, switch to be button 1

    ui->pushButton->show();
    ui->pushButton_2->hide();
}

如果您进一步决定实现更多逻辑,则应考虑使用QStateMachine并在进入或退出某些状态时将某些按钮设置为可见或隐藏。

于 2018-06-25T13:02:04.953 回答