问题标签 [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.
pyside - PySide TableView 和变体数据 - 显示角色不显示
我有这段代码,当我在 PyQt 中运行它时,它工作得很好,但是当我在 pyside 中运行它时,事情变得很奇怪。我得到了我应该得到的所有列和行,如果我通过脚本访问它们并获取数据,每个单元格都会说明它应该做什么。但是,即使我将这些设置为显示角色,表格中也不会显示任何文本。标题中没有,任何单元格中都没有。我不知所措!
(对于想知道的人,NulLVariant() 只返回 None 或 QVariant() 取决于是在 pyside 还是 pyqt 上)
该模型旨在将字典列表添加到 addRows,并使用字典键创建列。
编辑:当我试图删除这个问题时,我遇到了一个奇怪的错误,但我添加了一个更新的问题,这里有一个更好的简化示例进行测试:
https://stackoverflow.com/questions/34074825/pyside-qtableview-not-displaying-text-like-pyqt-does
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() 合并列表而不是嵌套
当我尝试将 a 嵌套QVariantList
在 anotherQVariantList
中时,结果是两个列表的平面合并,而不是子列表。
演示代码:
我得到的(缩进是我的):
我的期望:
c++ - 替换 QVariant::Handler::canConvert
是否可以将我们自己的代码注入到 QVariant::canConvert 中?
我正在添加对我们自己的通用值容器和 Qt 版本 (QVariant) 之间转换的支持,主要基于此处的建议如何支持包含自定义类型的 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 - 是否可以将 QPushButton 存储在 QVariant 中?
我想知道是否可以将 QPushButton 存储在 QVariant 中。更准确地说,我正在尝试在具有函数的 QStandardItemModel 中使用它setData
。这就是我想要做的:
但显然,它不是那样工作的,所以我尝试了这个:
它也不起作用。我想在不使用 QTableView 的情况下做到这一点(我知道这种视图中有一个 setIndexWidget)。
提前致谢!
qt - 动态存储 QML 对象
我想将一组动态 QML 创建的对象存储在变体或列表中。
当我这样做一次时,效果很好:
我正在尝试迭代 10 次以创建一个 10 长度的对象
我该怎么做?
编辑:我附上我的 2 个文件:main.qml 和 MyObject.qml
main.qml
我的对象.qml
c++ - QFlags 和 QVariant
我想要做的是简单地将 a 存储QFlags
在 a 中QVariant
。
标志定义:
现在我所做的就是使用该QVariant::fromValue
函数构造一个 qvariant:
调试输出显示:
那么,无论出于何种原因,QVariant 似乎无法存储标志?它确实识别类型,但似乎无法存储该值。我错过了什么?如果我注册一个枚举,一切正常。
注意:我知道我可以通过将值转换为整数并返回来存储值,但这对我来说是不可能的,因为 QVariant 创建是泛型方法的一部分。
c++ - 我可以方便地将 QVariant 转换回 QList?
如果您使用此宏将类型声明为 q 元类型,则可以转换QList<YourType>
为:QVariant
之后,转换甚至是隐式的:
现在我的问题是如何转换variant
回QList<MyType>
.