問題タブ [qmetaobject]

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 投票する
2 に答える
4596 参照

c++ - Qtプロパティの列挙

Qt 5.5で動作し、 Qt 5.2では動作しないコードがあります。問題はこの列挙型にあります:

次に、このエリアプロパティを公開するオブジェクトがあります。

そしてmain.cpp:

コンパイルされ、すべて問題ありません。しかし、qmlで area プロパティを使用しようとしたとき:

Qt 5.2 を使用している場合 (Linux、x64)、実行時エラーが発生します。

QMetaProperty::read: プロパティ 'MyClass::area' の未登録のデータ型 'Area' を処理できませんQMetaProperty::read: プロパティ 'MyClass::area' の未登録のデータ型 'Area' を処理できません

Qtのバグですか?Class スコープ外で宣言されている Enum を使用できないのはなぜですか?

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

c++ - タイプが名前空間にある場合、QMetaObject::newInstance は失敗します

Aから派生した基本クラスを継承するクラスの新しいインスタンスを作成したいと考えていますQObject

A名前空間にない場合、これは正常に機能しますAが、名前空間にある場合、この呼び出しは null ポインターを返します。

それmetaObject自体が正しいクラス名を返します (名前空間を含む)

のコンストラクタはAでマークされていQ_INVOKABLEます。QMetaObject::newInstance名前空間を使用するにはどうすればよいですか?

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

c++ - Qt4.8: qmetaobject に enum が表示されないのはなぜですか? そして、どのように働くのですか?

「関数」の定義がリファクタリングできません。ただし、テストクラスで使用する必要があります。Qt4.8を使用。次のコードは 1 を返しますが、予想されるのは 2 です。

テストクラスでtypedef enumを使用するには?

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

qt - Qt - 派生クラスはその基本クラスのメタ プロパティを継承しますか?

私は Qt を使用しており、基本クラス (場合によっては抽象クラス) に Q_PROPERTY マクロが含まれるクラス階層に遭遇しました。派生クラスは、基本クラスから各 Q_PROPERTY を継承しますか?

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

qt - Q_ENUM キーの変換

Q_ENUMコードでマクロを使用し、関連するQMetaEnumを使用してQComboBox.

キーの変換を管理する「標準的な」方法はありますかQ_ENUM(メソッドで取得QMetaEnum::key())?

Qt のドキュメントには何も見つかりませんでした。主な問題は、.ts のすべてのキーの翻訳キーを *.ts ファイルに自動的に追加することQ_ENUMです。

ありがとう