触发操作时将菜单中的特定项设置为已选中

时间:2014-11-28 05:29:55

标签: qt menu qaction

我有一个上下文菜单,其中包含项目操作列表。默认情况下,选择菜单中的第一个操作。这是通过使用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);
    ...
}

0 个答案:

没有答案