在特定的if子句中调用时,QMenu :: addAction不起作用

时间:2011-08-21 10:21:24

标签: qt symbian qmenu

我遇到了一个非常奇怪的问题:

if( currentWidgetType_m == WidgetTypesMap ) {
      qDebug() << "Here we are!";
      optionsMenu_mp->addAction( tr( "Change visibility" ),
         this, SLOT( VisibleItemClicked() ) );

      optionsMenu_mp->addSeparator();
}

optionsMenu_mp->addAction( tr( "Change statistics" ),
      this, SLOT( StatisticsItemClicked() ) );
optionsMenu_mp->addAction( tr( "Change view" ),
      this, SLOT( ViewItemClicked() ) );

在这种情况下,条件为 true ,并且输出中显示调试消息,但“更改可见性”操作未显示在菜单中。

任何可能导致此问题的想法?

祝你好运

1 个答案:

答案 0 :(得分:0)

问题是由QMenu未更新引起的。我通过重新创建持有QMenu的QAction解决了这个问题。