Qt Gui 中的两个按钮
Two Buttons in Qt Gui
我用Qt写了一个具有不同功能的程序。现在我想做一个Gui。例如我有两个按钮,button1 和 button2。我打开应用程序,首先看到 button1。然后我单击 button1,它执行其功能(如 "start")并消失。然后 button2 应该出现,当我单击 button2 时它执行其功能(如 "stop")并消失并且 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
}
以下似乎是最简单的解决方案,但如果您想添加更多按钮,则有点麻烦。在这种情况下,您可能需要考虑将它们存储在列表中并迭代列表。
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 并在进入或退出某些状态时将某些按钮设置为可见或隐藏。
我用Qt写了一个具有不同功能的程序。现在我想做一个Gui。例如我有两个按钮,button1 和 button2。我打开应用程序,首先看到 button1。然后我单击 button1,它执行其功能(如 "start")并消失。然后 button2 应该出现,当我单击 button2 时它执行其功能(如 "stop")并消失并且 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
}
以下似乎是最简单的解决方案,但如果您想添加更多按钮,则有点麻烦。在这种情况下,您可能需要考虑将它们存储在列表中并迭代列表。
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 并在进入或退出某些状态时将某些按钮设置为可见或隐藏。