我正在使用 StackedLayout 和 Buttons 在屏幕之间切换。如果按钮被选中,我有一个单独的样式。我还使用 keyPressEvent 在堆栈之间切换,而不是单击按钮进行切换。
当我使用 keyPress 事件时,我可以在堆栈之间切换,但按钮不会从未选中变为选中。
我有 4 个按钮,我为每个按钮编写了方法来查看按钮是否被选中,如下所示:
bool MainWindow::dashBoardButton_isChecked() {
if(ui->dashBoardButton->isChecked()) {
return true;
} else {
return false;
};
return false;
};
当我在堆栈之间切换时,我使用这种方法:
void MainWindow::on_dashBoardButton_clicked() {
ui->mainStack->setCurrentIndex(0);
if(!dashBoardButton_isChecked()) {
ui->dashBoardButton->setChecked(true);
};
};
我为每个按钮/堆栈执行 4 次。在我看来,这有点重复。有什么方法可以缩短代码,也许不是有 4 种非常相似的方法,而是有一种方法?