2009-11-29 10 views
5

QtフレームワークでQ_SIGNALS、Q_SLOT、SLOT()、SIGNAL()マクロの定義を見ることはできますか?Q_SIGNALS、Q_SLOT、SLOT()、SIGNAL()マクロの定義を見ることはできますか? (Qt)

P.S. Googleはこの質問で何も私に与えなかった。非デバッグコンパイルのため

+1

あなたはQtヘッダを持っています。あなたがしなければならなかったことは、それらを検索することでした。 – rohanpm

答えて

12

フォームqobjectdefs.h、:Q_SLOTSQ_SIGNALS宣言のみmoc実行によって特別に扱われ

#define Q_SLOTS 
#define Q_SIGNALS protected 
#define SLOT(a)  "1"#a 
#define SIGNAL(a) "2"#a 

は、最終コンパイルで、彼らは簡単なメソッド宣言に減らします。 SIGNAL()およびSLOT()は、提供されたシグネチャから名前を作成します。

+1

また、mocの出力ファイル(ビルドディレクトリ内)を見れば、マクロで何が行われたのかを知ることができます。 –

3

視覚スタジオで - あなたが興味のある識別子を右クリックし、 "Go To Definition"を選択するかF12を押します。
Visual Assistを使用している場合は、VSメカニズムがうまく動作しない場合、Alt + Gを使用してこれを行うこともできます。