アイテム アクションのリストを含むコンテキスト メニューがあります。デフォルトでは、メニューの最初のアクションが選択されています。これは、QAction の setChecked() & 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);
...
}