Я использую StackedLayout и кнопки для переключения между экранами. У меня есть отдельный стиль, если кнопка отмечена или нет. Я также использую keyPressEvent для переключения между стеками вместо нажатия на кнопку для переключения.Qt проверка состояния нескольких кнопок
Когда я использую событие 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 очень похожих методов, вместо этого есть один метод?
Проверьте 'QButtonGroup'. –