2017-10-16 4 views
2

Iが無効になっQActionメニュー要素を持っている:無効なQAction要素のトリガ信号を取得するにはどうすればよいですか?

QAction *item = new QAction(itemTitle); 
item->setEnabled(false); 

私は要素が押された後の関数を呼び出すためにSLOT接続を使用しますが、唯一の有効要素に対してを作品だ:私の質問は方法です

QObject::connect(item, SIGNAL(triggered()), this, SLOT(func())); 

無効なQAction要素の一部の機能をトリガできますか? Qtの5.9.2

、MSVC2017 64ビットコンパイラ

答えて

1

setEnabled()プロパティは、ウィジェットが有効になっているかどうかを保持しています。

一般に、有効化されたウィジェットはキーボードとマウスイベントを処理します。 a 無効なウィジェットはではありません。例外はQAbstractButtonで行われます。

ウィジェットが無効の場合、すべてのマウスイベントとキーボードイベントも無効になります。

詳細情報:http://doc.qt.io/qt-4.8/qwidget.html#enabled-prop

+0

これはできません。何とかQAスタイルシートを使って無効なQAction要素をシミュレートしても 'setEnabled()'自体でシミュレートしないとどうなりますか? – semanser

+1

CSSの無効化は同じです。多分 'backcolor'、' border'、 'reimplement events'を変更して、ある程度のシミュレートを無効にすることができます。他の賢明なことはできません。 – aghilpro

+0

はい、現在私が探しているのは – semanser

関連する問題