[解決済み] Q_OBJECT マクロは何をするのですか? なぜ、すべての Qt オブジェクトはこのマクロを必要とするのですか?
2022-05-16 03:41:36
質問
Qt を使い始めたばかりですが、すべてのクラス定義の例で、マクロ
Q_OBJECT
を最初の行に含んでいることに気づきました。このプリプロセッサマクロの目的は何でしょうか?
どのように解決するのですか?
からの Qt ドキュメント :
メタオブジェクトコンパイラ(moc)は、QtのC++を扱うプログラムです。 Qt の C++ 拡張を処理するプログラムです。 拡張を扱うプログラムです。
mocツールはC++のヘッダーファイルを読みます。 もし、1つまたはそれ以上のクラスが見つかったら を含む 1 つ以上のクラス宣言が見つかった場合、Q_OBJECT マクロを含む 1 つ以上のクラス宣言が見つかった場合、C++ ソースファイルを作成します。 メタ・オブジェクト・コードを含む これらのクラスのメタオブジェクトコードを含むC++ソースファイルを生成します。他のものの中で メタオブジェクトコードは シグナルとスロットのメカニズム、ランタイム型情報 ランタイム型情報、そして ダイナミック・プロパティ・システムに必要です。
関連
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] C++で仮想関数が必要な理由とは?
-
[解決済み] template "と "typename "キーワードはどこに、なぜ入れなければならないのですか?
-
[解決済み] 未定義の動作とシーケンスポイント
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない