0

私は非常に奇妙な問題に遭遇しました:

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であり、デバッグメッセージが出力に表示されますが、「可視性の変更」アクションはメニューに表示されません。

これを引き起こしている可能性のあるアイデアはありますか?

よろしくお願いします

4

1 に答える 1

0

この問題は、QMenuが更新されないことが原因で発生しました。QMenuを保持するQActionを再作成することで、問題を解決しました。

于 2011-08-26T10:00:09.767 に答える