我有一种方法可以在菜单上自动添加可检查的操作,并且运行良好。我只是想知道如何自动取消选中所有这些操作。我知道这是可能的,ui->action_item->setChecked(false)
但在这种情况下,我应该知道并在代码中写下每个动作名称,但这对我来说不可行。
伪代码:
void MainWindow::AddNewActions() {
QActionGroup *my_action_group = new QActionGroup(this);
my_action_group->setExclusive(true);
foreach (..) {
QAction *my_new_action = new QAction(description, my_action_group);
my_new_action->setCheckable(true);
my_new_action->setData(action_name);
ui_->my_menu->addAction(my_new_action);
}
}