问题标签 [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 的重复声明

我的项目包含一个链接到两个静态库的应用程序。每个库都声明Q_DECLARE_METATYPE< QUuid >,以便使用QUuidwith QVariant,这会导致'redefinition of struct QMetaTypeId< QUuid >'错误。

在保持在不同项目中单独使用每个库的能力的同时,正确的方法是什么?

0 投票
1 回答
189 浏览

qt - 如何使 Qt 中的类既可编写脚本又可序列化?

我正在尝试编写一个具有两个基本特征的类:

  • 它需要是可编写脚本的——该类包含许多用Q_INVOKABLE脚本装饰的属性和方法。
  • 它需要可序列化,以便可以注册以qRegisterMetaTypeStreamOperators()存储在QVariants 中。

据我所知,QObject为了使类可编写脚本,我需要派生自。但是,为了使用 注册该类qRegisterMetaTypeStreamOperators(),该类似乎需要有一个默认的复制构造函数——这是QObject派生类所不能具备的。

有没有办法实现这两个目标?

0 投票
1 回答
1011 浏览

python - PyQt:如何使用 QComboBox::findData() 查找元组?

我无法QComboBox::findData在我的 PyQt 应用程序中正常工作。

似乎 PyQt 没有正确比较 QVariant 和 Python 元组,导致 Qt 找不到我的元组。示例如下:

使用 api=2 (auto-convert QVariant<->python) 它找不到任何东西,我得到以下输出:

使用 api=1 (没有自动转换),它只会在后一种(无用)情况下找到它:

知道如何让第一个案例工作(使用新元组查找数据,并自动转换 QVariant)吗?

(使用 PyQt 4.8.3、SIP 4.12.1 和 Qt 4.6.1)

0 投票
0 回答
1734 浏览

c++ - Qt QDbus 使用 QVariant 发送自定义类型

我正在尝试通过 Qt 中的 Dbus 会话总线在 2 个简单应用程序之间的 QVariant 内发送自定义类(“Span”)。Span 是一个包含 2 个双精度类型属性的简单类。我已经成功地通过 dbus 接口发送并恢复了一个仅包含 QString 的 QVariant,就像我在下面尝试使用自定义类的 QVariant 一样。

Span 在类头文件中包含以下 QMETATYPE QVariant 注册声明:

我有 2 个测试应用程序,一个发送者和一个接收者 - 两者都具有完全相同的“跨度”类定义。在我的发件人应用程序中,我这样做:

'setSetting' 方法定义为:

在接收器中,我像这样注册“跨度”类:

然后我尝试像这样恢复 Span 类:

上面的代码给了我 Span 类属性的虚假值:

我究竟做错了什么?我可以在 Sender 应用程序中对 Span 实例进行编码和解码,但是一旦接收器类通过 dbus 获取它,我就会得到虚假值。我真的很感激任何想法/帮助!

注意:我确实在我的 Span 类中实现了流式操作符,如下所示(接收方和发送方应用程序中都存在相同的类实现):

0 投票
1 回答
999 浏览

python - 在 Python 中将 QVariant 转换回 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 回答
995 浏览

c++ - QVariant.value() 引起问题

所以我有一个自定义类 Foo 已使用Q_DECLARE_METATYPE(Foo)类定义末尾的宏注册为元类型。

我可以在列表中设置项目,检查是否可以转换,但是当我尝试实际制作 Foo 类型的项目时,编译时会失败。

使用从 a 传入的 QVariant QModelIndex &index

失败并出现以下错误:

全部来自文件 qvariant.h

我在这里做错了什么?我的类有以下构造函数:

标题如下:

0 投票
1 回答
1096 浏览

c++ - C++ 错误:使用 Qt 和 QVariant 从指针到指针引用没有匹配的函数调用

我有一个这样定义的 QObject 子类(在“Danbooru”命名空间内):

我在另一个这样定义的类中使用它:

我遇到的问题来自这段代码(StoredTransferJob 是一个 KDE 类):

但是,编译时,Q_EMIT 部分会生成此错误:

生成函数中使用的变体的代码是:

我对这个错误感到非常困惑。我可能做错了什么?

0 投票
1 回答
1106 浏览

qt - BlackBerry10 Cascades:如何将 QObject 转换为 QVariant?

我有一个 QObjects* 列表,想将它们添加到我的 DataModel 中。但是数据模型需要一个 QVariant 而不是 QObject。

是否可以将 QObjects 转换为 QVariant?