問題タブ [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.
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
私のカスタムが無視されるのはなぜですか?
qt - 違いは何ですか.moc および moc_.cpp
私のクラスのほとんどはmoc_<CLASS>.cpp
ファイルを生成します。<CLASS>.moc
一部のクラスが代わりに/同様にファイルを生成するのはなぜですか?
qt - Qt、Qbs: moc_Filename.cpp を自動的に生成
だから私は Q_OBJECT タグ付きのクラスを持っています。
私の .qbs ファイルには、CppApplication
アイテムがあります。moc ClassName.cpp
qbsはmocを生成するために呼び出されないため、これは間違ったタイプのプロジェクトのようです。代わりに何を使用/微調整する必要がありますか?
-
だから私は Qt.core の依存関係について知っていましたが、Qt の不自由なインストールでは機能していませんでした。私がそれを修正しようとしている間に、これらの事実が浮かび上がりました:
- Qt ツールチェーン (
qbs-setup-qt
) を検出して呼び出す必要がありました。qbs-config-ui
- 実際、Qbs はビルド ルールを core.qbs に保存し、Qt/core 依存関係を介してリンクされます。
- ビルド ルールをコピーして自分の .qbs ファイルに貼り付け、外部依存を回避することができます。私はこれを、本当に不自由なビルド システムにコードをデプロイするための汚いハックだと考えています (現在、Gentoo での Qt サポートについての言葉があります)。
qt - 親コンテナではなく、QGridLayout のセルにスタイル シートが適用されます。
QWidget を継承して、TaskBox という名前のクラスを作成しました。
TaskBox に QGridLayout を適用しました。
レイアウトは複数の QLabels で構成されています。
スタイル シートを設定して、TaskBox の背景色を変更しました。
次のようになります。
これは私が欲しいもので、私はそれに満足しています。
問題は、TaskBox クラスに Q_OBJECT マクロを追加したいということです。(シグナルとスロットを使用する必要があるため)
Q_OBJECT マクロを追加すると、TaskBox オブジェクトは次のようになります。
スタイル シートが QGridLayout のセルに分割されているようです。
ここに私の TaskBox クラスがあります:
何が起こっているのか理解できません。
ご協力いただきありがとうございます。
c++ - Qt カスタム基本クラスの作成方法
アプリケーションのカスタムを作成し、main window
それを と統合したいと考えていQt Creator
ます。新しい を作成すると、 、またはQt Widgets Application
から継承するオプションが得られます。そこに独自のウィジェットを追加したいと思います。QWidget
QMainWindow
QDialog
.ui
ドロップダウン リストからカスタム ウィジェットを選択すると、カスタム フォームが生成されるようにしたいと考えています。これは可能ですか?はいの場合、どのように?
または、新しいフォームを作成するときに、カスタム テンプレート ウィジェットをQt Designer Form
ダイアログに追加することは可能でしょうか? 私はこれについて話している:
よろしく!
qt - Qtでシグナルスロットの関係を見つける方法は?
私は最近 Qt に慣れていませんが、他の誰かが巨大な Qt プロジェクトを理解し、変更する必要があります。対応する connect() 関数をすべて見つけなくても、ソース コードからシグナル スロットの接続関係を確認することはできますか? MOC ファイルにこの情報が保存されていると聞きましたが、見つけることができません。