Qt Gui中的两个按钮

时间:2018-06-25 09:53:47

标签: qt qpushbutton qapplication

我在Qt中编写了具有不同功能的程序。现在我想做个桂。例如,我有两个按钮,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
}

1 个答案:

答案 0 :(得分: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并在进入或退出某些状态时将某些按钮设置为可见或隐藏。