問題タブ [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 投票する
1 に答える
354 参照

sql - QVariant 型を SQLite 型にマップする

QVariant 変数の型を SQLite データ型の QString に変換する必要があります。QSqlDriver がそれを行うべきだと思われますが、そのような変換の方法が見つかりません。

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

c++ - Q_DECLARE_METATYPE の重複宣言を避ける方法

私のプロジェクトは、2 つの静的ライブラリにリンクするアプリで構成されています。各ライブラリはQ_DECLARE_METATYPE< QUuid >、 を使用するために をQUuid宣言しているためQVariant'redefinition of struct QMetaTypeId< QUuid >'エラーが発生します。

異なるプロジェクトで各ライブラリを単独で使用する機能を維持しながら、これを行う正しい方法は何ですか?

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

qt - Qtでクラスをスクリプト可能かつシリアライズ可能にする方法は?

2 つの基本的な特性を持つクラスを作成しようとしています。

  • Q_INVOKABLEスクリプト可能である必要があります。クラスには、スクリプトに公開される、修飾された多数のプロパティとメソッドが含まれています。
  • qRegisterMetaTypeStreamOperators()sに格納するために登録できるように、シリアライズ可能である必要がありますQVariant

私が知る限りQObject、クラスをスクリプト可能にするには、から派生させる必要があります。ただし、クラスを に登録するには、クラスqRegisterMetaTypeStreamOperators()にデフォルトのコピー コンストラクターが必要なようです。これは、QObject派生クラスにはないものです。

両方の目標を達成する方法はありますか?

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

python - PyQt: QComboBox::findData() を使用してタプルを見つけるにはどうすればよいですか?

QComboBox::findDataPyQt アプリケーションで正しく動作しません。

PyQt が QVariant と Python のタプルを適切に比較していないようで、Qt がタプルを見つけられません。例は次のとおりです。

api=2 (自動変換 QVariant<->python) を使用すると、何も検出されず、次の出力が得られます。

api=1 (自動変換なし) を使用すると、後者 (役に立たない) の場合にのみ検出されます。

最初のケースを機能させる方法 (新しいタプルを使用して findData を取得し、QVariant を自動変換する方法) はありますか?

(PyQt 4.8.3、SIP 4.12.1、および Qt 4.6.1 を使用)

0 投票する
0 に答える
1734 参照

c++ - Qt QDbus QVariant でカスタム型を送信する

2 つの単純なアプリケーション間で、Qt の Dbus セッション バスを介して QVariant 内のカスタム クラス ( "Span" ) を送信しようとしています。Span は、2 つの double 型のプロパティを含む単純なクラスです。カスタム クラスの QVariant を使用して以下で行おうとしているのと同じ方法で、dbus インターフェイスを介して QString のみを含む QVariant を正常に送信および回復しました。

Span には、クラス ヘッダー ファイルに QMETATYPE QVariant 登録の次の宣言が含まれています。

送信側と受信側の 2 つのテスト アプリケーションがあり、どちらもまったく同じ「スパン」クラス定義を持っています。私の送信者アプリでは、これを行います:

「setSetting」メソッドは次のように定義されています。

レシーバーでは、次のように「Span」クラスを登録します。

次に、次のように Span クラスを回復しようとします。

上記のコードでは、Span クラス プロパティの偽の値が返されます。

私は何を間違っていますか?Sender アプリで Span インスタンスをエンコードおよびデコードできますが、レシーバー クラスが dbus 経由でそれを取得すると、偽の値が取得されます。アイデアや助けをいただければ幸いです。

注: 次のように、Span クラスにストリーミング オペレーターを実装しました (レシーバー アプリとセンダー アプリの両方に同じクラスの実装が存在します)。

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

python - QVariantをPythonでdictに戻す

QSettingでdictを保存しました。ロードすると、QVariantが表示されます。

それを再びdictに変換して、このように再び使用できるようにする方法:

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

c++ - qVariantValue は「QT_DEPRECATED」です - 代替品は何ですか?

Qt のレガシー コードを 4 から 5.1 に変換する必要があります。Visual Studio 2010 でコンパイル エラーが発生しました。

私に与えます:

.cpp(63): エラー C2065: 'qVariantValue': 宣言されていない識別子

ヘッダーに移動すると、次のように表示されます。

わかりました...では、代わりは何ですか?

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

c++ - C ++エラー:QtおよびQVariantを使用したポインターからポインター参照への一致する関数呼び出しがありません

そのように定義されたQObjectサブクラスがあります(「Danbooru」名前空間内):

そして私はこのように定義された別のクラスでそれを使用しています:

私が経験している問題は、このコードから発生します(StoredTransferJobはKDEクラスです):

ただし、コンパイルすると、Q_EMIT部分は次のエラーを生成します。

関数で使用されるバリアントを生成するコードは次のとおりです。

私はこのエラーに完全に困惑しています。私は何を間違っているのでしょうか?

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

qt - BlackBerry10 カスケード: QObject を QVariant に変換する方法は?

QObjects* のリストがあり、それらを DataModel に追加したいと考えています。ただし、データモデルには QObject ではなく QVariant が必要です。

QObjects を QVariant に変換することは可能ですか?