問題タブ [moc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1434 参照

visual-studio - qmake で Visual Studio プロジェクトを生成するときに MOC_DIR が無視されるのはなぜですか

Qt 5.3 で Visual Studio 2013 プロジェクトを生成していqmakeます。私の.proファイルには、次の行があります。

I の場合message($$MOC_DIR)、パスは正しく形成されています。ただし、VS でビルドすると、moc_<CLASS>.cppファイルはその場所に生成されず、代わりに.pro. コンパイル中に次の警告が表示されます。

の名前を持つ 2 つ以上のファイルはmoc_<CLASS>.cpp、同じ場所に出力を生成します

生成された の内容を見ると、次のように表示されるため、これは驚くべきことではありません.vcxproj(無関係なタグ/テキストが省略されています...)。

MOC_DIR私のカスタムが無視されるのはなぜですか?

0 投票する
1 に答える
70 参照

qt - 違いは何ですか.moc および moc_.cpp

私のクラスのほとんどはmoc_<CLASS>.cppファイルを生成します。<CLASS>.moc一部のクラスが代わりに/同様にファイルを生成するのはなぜですか?

0 投票する
1 に答える
751 参照

qt - Qt、Qbs: moc_Filename.cpp を自動的に生成

だから私は Q_OBJECT タグ付きのクラスを持っています。

私の .qbs ファイルには、CppApplicationアイテムがあります。moc ClassName.cppqbsはmocを生成するために呼び出されないため、これは間違ったタイプのプロジェクトのようです。代わりに何を使用/微調整する必要がありますか?

-

だから私は Qt.core の依存関係について知っていましたが、Qt の不自由なインストールでは機能していませんでした。私がそれを修正しようとしている間に、これらの事実が浮かび上がりました:

  • Qt ツールチェーン ( qbs-setup-qt) を検出して呼び出す必要がありました。qbs-config-ui
  • 実際、Qbs はビルド ルールを core.qbs に保存し、Qt/core 依存関係を介してリンクされます。
    • ビルド ルールをコピーして自分の .qbs ファイルに貼り付け、外部依存を回避することができます。私はこれを、本当に不自由なビルド システムにコードをデプロイするための汚いハックだと考えています (現在、Gentoo での Qt サポートについての言葉があります)。
0 投票する
2 に答える
3106 参照

qt - 親コンテナではなく、QGridLayout のセルにスタイル シートが適用されます。

QWidget を継承して、TaskBox という名前のクラスを作成しました。
TaskBox に QGridLayout を適用しました。
レイアウトは複数の QLabels で構成されています。

スタイル シートを設定して、TaskBox の背景色を変更しました。
次のようになります。

ここに画像の説明を入力

これは私が欲しいもので、私はそれに満足しています。

問題は、TaskBox クラスに Q_OBJECT マクロを追加したいということです。(シグナルとスロットを使用する必要があるため)

Q_OBJECT マクロを追加すると、TaskBox オブジェクトは次のようになります。

ここに画像の説明を入力

スタイル シートが QGridLayout のセルに分割されているようです。

ここに私の TaskBox クラスがあります:

何が起こっているのか理解できません。
ご協力いただきありがとうございます。

0 投票する
1 に答える
1118 参照

c++ - Qt カスタム基本クラスの作成方法

アプリケーションのカスタムを作成し、main windowそれを と統合したいと考えていQt Creatorます。新しい を作成すると、 、またはQt Widgets Applicationから継承するオプションが得られます。そこに独自のウィジェットを追加したいと思います。QWidgetQMainWindowQDialog

ここに画像の説明を入力

.uiドロップダウン リストからカスタム ウィジェットを選択すると、カスタム フォームが生成されるようにしたいと考えています。これは可能ですか?はいの場合、どのように?

または、新しいフォームを作成するときに、カスタム テンプレート ウィジェットをQt Designer Formダイアログに追加することは可能でしょうか? 私はこれについて話している:

ここに画像の説明を入力

よろしく!

0 投票する
2 に答える
282 参照

qt - Qtでシグナルスロットの関係を見つける方法は?

私は最近 Qt に慣れていませんが、他の誰かが巨大な Qt プロジェクトを理解し、変更する必要があります。対応する connect() 関数をすべて見つけなくても、ソース コードからシグナル スロットの接続関係を確認することはできますか? MOC ファイルにこの情報が保存されていると聞きましたが、見つけることができません。