私はC++を使ってメニューバー(menuBar)で小さなプログラムを構築しています。メニューの項目をグレーアウト(例:無効)にする方法を知りたいのですが特定の変数が有効化されます。出来ますか?Qtのメニュー項目をグレーアウトする方法
12
A
答えて
14
あなたは、対応するQActionのインデックスを知っている場合:
QMenu::actions.at(i).setEnabled(false);
P.S.を下記のように、setEnabled(bool)
とsetDisabled(bool)
はスロットです(したがって、toggle()
)ので、アクションの可用性を変更する必要があることを示す信号に接続できます。
5
アクションのインデックスを探すことは必ずしも便利ではありません。 QtCreatorのフォームエディタを使用してインターフェイスを構築した場合は、各メニュー項目に対してアクションが発生します。それらの名前は、最初にアクションに与えたテキストに基づいています。たとえば、タイトルFoo Barのメニュー項目を対話的に入力すると、actionFoo_Barという名前のアクションが作成されます。コードエディタでui-> actionと入力して、QtCreatorが提案する "名前補完"を見てみましょう。私はこのような呼び出しを検討するような場合には
が:
ui->actionFoo_Bar.setEnabled(false);
あなたも
ui->actionFoo_Bar.setVisible(false);
関連する問題
- 1. クリックすることができないgtkmmメニュー項目をグレーアウトする方法
- 2. PyQtのメニュー項目をグレーアウトするには
- 3. Qt QSystemTrayIconメニュー項目を変更する
- 4. メニュー内のメニュー項目をハイライトする方法
- 5. QtでChromeスタイルのメニュー項目を実装する
- 6. 実行時にメニューにメニュー項目を追加する方法
- 7. スタイルメニューボタンとメニュー項目の方法
- 8. メニュー項目の追加方法
- 9. smartgwtのSelectItemでオプション項目をグレーアウトする方法はありますか?
- 10. Qtは、メニュー項目のクリックでモーダルダイアログ(.ui)を表示します。
- 11. メニュー項目をハイライトする
- 12. メニュー項目イベントハンドラ
- 13. メニュー項目が
- 14. メニュー項目をクリック
- 15. ツールバーのメニュー項目のIDを取得する方法は?
- 16. メニュー項目のショートカット
- 17. アクティブクラスのメニュー項目
- 18. メニュー項目のCSS
- 19. センターのメニュー項目
- 20. メニュー項目のCCLabelBMFont?
- 21. Extjsメニューのメニュー項目の1つのみをマークする方法
- 22. 対応するメニュー項目にクラスを追加する方法
- 23. メニュー項目をデフォルトの右クリックコンテキストメニューに追加する方法
- 24. Androidのメニュー項目で動的値を実装する方法
- 25. アンドロイドのメニュー項目間にパディングを追加する方法は?
- 26. PreferenceActivity、メニューをナビゲートするPreference項目の作成方法は?
- 27. メインメニューの子項目を左メニューに表示する方法
- 28. cocoaドックメニューの「終了」メニュー項目をブロックする方法
- 29. メニュー項目mfcのチェックを設定する方法C++
- 30. 複数のシーンでJavaFXメニュー項目を使用する方法
あなたはあなたの答えに追加することができて、メニュー項目を消すことができます 'それは、setEnabled(ブール値) 'と' setDisabled(bool) 'はスロットです(' toggle() ')ので、アクションの可用性を変更する必要があることを示すシグナルに接続できます。 –
Thanx @ LucTouraille! –
変数が頻繁に変更される場合(メニューよりも頻繁に表示される)、 'signal:QMenu :: aboutToShow()'に応答してのみ変数を切り替えることをお勧めします。とにかく目に見えないものを変えても意味がありません。 – MSalters