我有一个上下文菜单,其中包含项目操作列表。默认情况下,选择菜单中的第一个操作。这是通过使用setChecked()&设置的。 QAction的setCheckable()属性。但是当我选择菜单中的任何其他项目时,我无法更改要检查的其他操作。这是我的代码:
QAction* action = new QAction(subMenu);
for(...)
{
action = subMenu->addAction(...);
action->setData(...);
action->setCheckable(true);
if(i==1)
{
action->setChecked(true);
}
}
connect(subMenu, SIGNAL(triggered(QAction *)),
this, SLOT(onModeSelected(QAction *)), Qt::UniqueConnection);
void onModeSelected(Qaction* action)
{
action->setchecked(true);
...
}