問題タブ [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.
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でどのように使用できるかに興味があります。
list - QVariantList.append() はネストの代わりにリストをマージします
QVariantList
aを another 内にネストしようとするとQVariantList
、結果はサブリストではなく、2 つのリストのフラット マージになります。
デモコード:
私が得たもの(インデントは私のものです):
私が期待すること:
c++ - QVariant::Handler::canConvert の置き換え
独自のコードを QVariant::canConvert に挿入することは可能ですか?
カスタム タイプを含む QVariant オブジェクトの比較をサポートする方法は?
この質問に対する答えは「できません」であると確信しています。ソースを閲覧すると、QVariant::canConvert の実装がハンドラーを呼び出さないことがわかりますが、病的な好奇心からとにかく尋ねると思いました.
QVariant の実装に、(Qt を再コンパイルせずに) この種の機能にある種のフックを取得できるランダムな場所はありますか?そうでない場合、Handler の関数は何かに使用されますか?なぜそれが存在するのですか? ほとんど - これを回避するための提案はありますか?
qml - カスタムクラスの QML Qvariant
カスタム C++ クラスがあります: Media.h
:
他のQMLファイルには、次のようなQMLバリアントから非常に良い値を読み取るコードがありますmain.ml
::
問題は、C++ からバリアント メディア配列を動的に作成し、それを QML に送信する必要があることです。
medias 配列を C++ から QML に送信するシグナルがいくつかありますが、この配列はQList<Media>
. QVariant
QMLで読めるように変換するにはどうすればよいですか?
c++ - QTでQComboBoxの値をintに変換する方法
私はQTクリエーターでQtを使用して簡単な電卓を作成していますQCombobox(操作を含む: '+'、 '-'、 '*'、'/')から値をintに変換したいので、これを使用しました:
// operation is the name of my QComboBox :)
i の値を出力してテストしようとすると、次のようになります。
出力
バルール 1219552
バルール 1219552
バルール 1219552
バルール 1219552
バルール 1219552
変換は、操作のいずれかを選択するたびに、QComboBox のインデックスに対応していないのと同じ値を私に与えます。しかし、それは追加操作を成功させます!!!
これは、私が達成しようとしていることを示す穴ファイルです:
グラフィカル インターフェイスを使用して、comboBox の値を設定しました
助言がありますか?
qt - QVariant に QPushButton を格納することは可能ですか?
QVariant に QPushButton を格納できるかどうか知りたいです。より正確には、関数を使用して QStandardItemModel で使用しようとしていますsetData
。これが私がやりたいことです:
しかし、明らかに、それはそのようには機能しないので、私はこれを試しました:
そして、それも機能していません。QTableView を使用せずに実行したいと思います(この種のビューには setIndexWidget があることを知っています)。
前もって感謝します!
c++ - QFlags と QVariant
私がやろうとしているのは、単純に a を に格納することQFlags
ですQVariant
。
フラグの定義:
QVariant::fromValue
これで、関数を使用して qvariant を作成するだけです。
デバッグ出力は次を示します:
それで、何らかの理由で QVariant がフラグを保存できないようですか? タイプは認識しますが、値を保存できないようです。私は何か見落としてますか?代わりに列挙型を登録すると、すべて正常に動作します。
注:値を整数にキャストして戻すことで値を保存できることは知っていますが、QVariant の作成はジェネリック メソッドの一部であるため、これは不可能です。
c++ - QVariant を QList に簡単に変換できますか?
このマクロを使用して、型を q メタ型として宣言すれば、変換することができQList<YourType>
ます。QVariant
その後、変換は暗黙的です。
今私の質問は、にvariant
戻す方法QList<MyType>
です。