問題タブ [qvariant]

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 に答える
2110 参照

c++ - QVariant::fromValue を QString で使用するには?

次のコードがあります。

これは機能しません。QTCreator のエラー メッセージは次のとおりです。

...\qglobal.h:693: エラー: 静的アサーションに失敗しました: タイプが登録されていません。Q_DECLARE_METATYPE マクロを使用して Qt のメタオブジェクト システムに認識させてください #define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition) 、 メッセージ)

Q_DECLARE_METATYPE次のようなことをすると、 forを使用する必要があるとは思いませんQString

それは正常に動作します。

QVariant::fromValue()事前に宣言された QStringでどのように使用できるかに興味があります。

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

list - QVariantList.append() はネストの代わりにリストをマージします

QVariantListaを another 内にネストしようとするとQVariantList、結果はサブリストではなく、2 つのリストのフラット マージになります。

デモコード:

私が得たもの(インデントは私のものです):

私が期待すること:

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

c++ - QVariant::Handler::canConvert の置き換え

独自のコードを QVariant::canConvert に挿入することは可能ですか?

カスタム タイプを含む QVariant オブジェクトの比較をサポートする方法は?

この質問に対する答えは「できません」であると確信しています。ソースを閲覧すると、QVariant::canConvert の実装がハンドラーを呼び出さないことがわかりますが、病的な好奇心からとにかく尋ねると思いました.

https://github.com/qtproject/qt/blob/b05d05fd9ce2aeedfaf805a7ed9007a93c902bc9/src/corelib/kernel/qvariant.cpp#L2719

QVariant の実装に、(Qt を再コンパイルせずに) この種の機能にある種のフックを取得できるランダムな場所はありますか?そうでない場合、Handler の関数は何かに使用されますか?なぜそれが存在するのですか? ほとんど - これを回避するための提案はありますか?

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

qml - カスタムクラスの QML Qvariant

カスタム C++ クラスがあります: Media.h:

他のQMLファイルには、次のようなQMLバリアントから非常に良い値を読み取るコードがありますmain.ml::

問題は、C++ からバリアント メディア配列を動的に作成し、それを QML に送信する必要があることです。

medias 配列を C++ から QML に送信するシグナルがいくつかありますが、この配列はQList<Media>. QVariantQMLで読めるように変換するにはどうすればよいですか?

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

c++ - QTでQComboBoxの値をintに変換する方法

私はQTクリエーターでQtを使用して簡単な電卓を作成していますQCombobox(操作を含む: '+'、 '-'、 '*'、'/')から値をintに変換したいので、これを使用しました:

// operation is the name of my QComboBox :)

i の値を出力してテストしようとすると、次のようになります。

出力

バルール 1219552

バルール 1219552

バルール 1219552

バルール 1219552

バルール 1219552

変換は、操作のいずれかを選択するたびに、QComboBox のインデックスに対応していないのと同じ値を私に与えます。しかし、それは追加操作を成功させます!!! これは、私が達成しようとしていることを示す穴ファイルです:
電卓

グラフィカル インターフェイスを使用して、comboBox の値を設定しました コンボボックスの値

助言がありますか?

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

qt - QVariant に QPushButton を格納することは可能ですか?

QVariant に QPushButton を格納できるかどうか知りたいです。より正確には、関数を使用して QStandardItemModel で使用しようとしていますsetData。これが私がやりたいことです:

しかし、明らかに、それはそのようには機能しないので、私はこれを試しました:

そして、それも機能していません。QTableView を使用せずに実行したいと思います(この種のビューには setIndexWidget があることを知っています)。

前もって感謝します!

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

c++ - QFlags と QVariant

私がやろうとしているのは、単純に a を に格納することQFlagsですQVariant

フラグの定義:

QVariant::fromValueこれで、関数を使用して qvariant を作成するだけです。

デバッグ出力は次を示します:

それで、何らかの理由で QVariant がフラグを保存できないようですか? タイプは認識しますが、値を保存できないようです。私は何か見落としてますか?代わりに列挙型を登録すると、すべて正常に動作します。

注:値を整数にキャストして戻すことで値を保存できることは知っていますが、QVariant の作成はジェネリック メソッドの一部であるため、これは不可能です。

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

c++ - QVariant を QList に簡単に変換できますか?

このマクロを使用して、型を q メタ型として宣言すれば、変換することができQList<YourType>ます。QVariant

その後、変換は暗黙的です。

今私の質問は、にvariant戻す方法QList<MyType>です。