问题标签 [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.
linux - QVariant 和 qRegisterMetaType 问题
我有一个类 Pkg,我需要以 QVariant 的形式使用它。
在我的 Pkg.h 结束时,我有:
这不会产生编译错误,但在我的 main.cpp 中我必须这样做:
这也不会产生错误,但是当我尝试创建 QVariant(Pkg) 时,会出现很多错误,例如:
和错误再次错误......
linux - qt4.4.3 上的 QVariant/QTreeWidgetItem/iterator 问题
在我的 qt 应用程序中,我有这个对象,在设置我的 QTreeWidget 的内容之前填充:
我通过这种方式填充 QList:
在工作结束时,我的 QList 有近 1000 个项目。
我需要遍历它们,并且对于每个项目,我需要通过这种(经过测试和工作)方式获取“linuxPackage”数据:
所以,我一直在尝试通过这种方式提取所需的数据:
但没有任何效果,我什至无法编译程序。帮助!:D
qt - Blinking background cell in a model
I am confused about the setData
in data methods for my custom role (IsBlinkingRole
). I've tried different options but every option failed.
The problem I have with the setData
method is regarding what kind of code I need to put here.
Do I have to create a container first to store data?
qt4 - 将自定义类型的 QVariant 转换为 QString
我有一个名为 Money 的自定义类,我用 Q_DECLARE_METATYPE() 声明了它。
我将它存储在 QVariant 中,我想将其转换为 QString:
变量s最终成为空字符串,因为 QVariant 不知道如何将我的自定义类型转换为字符串。有没有办法做到这一点?
pyqt - 是否有可能自动将 QVariants 转换为 Python 对象?
PyQt 4.5.4,Python 2.6.2
由于版本 4.5.2 PyQt 能够接受以前只QVariants
允许的任何 Python 对象。这会导致一些问题:
有没有可能消除这种不一致?
python - 如何从 PyQt4 中的 QVariant 取回我的 python 对象?
我正在创建一个QAbstractItemModel
要显示在QTreeView
.
我的index()
and函数使用继承parent()
的函数创建并为其提供,和需要的。在这里,出于测试目的,数据是 Python 字符串。QModelIndex
QAbstractItemModel
createIndex
row
column
data
在index()
、parent()
和data()
函数中,我需要取回我的数据。它以QVariant
. 如何从 QVariant 取回我的 Python 对象?
c++ - 如何支持包含自定义类型的 QVariant 对象的比较?
根据 Qt 文档,QVariant::operator==
如果变体包含自定义类型,则不会像预期的那样工作:
bool QVariant::operator== ( const QVariant & v ) const
将此 QVariant 与 v 进行比较,如果相等则返回 true;否则返回假。
在自定义类型的情况下,不调用它们的相等运算符。而是比较值的地址。
你应该如何让它对你的自定义类型有意义?就我而言,我将枚举值存储在 QVariant 中,例如
在标题中:
函数中的某处:
为了使这个断言成立,我需要做些什么不同的事情?
我理解为什么它不起作用——每个变体都存储枚举值的单独副本,因此它们具有不同的地址。我想知道如何更改将这些值存储在变体中的方法,以便这不是问题,或者它们都引用相同的基础变量。
它认为我不可能绕过需要平等比较才能工作。上下文是我将此枚举用作 a 中项目中的 UserData,QComboBox
并且我希望能够使用它QComboBox::findData
来定位与特定枚举值相对应的项目索引。
qt - 如何验证 QVariant::UserType 类型的 QVariant 是预期类型?
我正在编写测试代码,它将自动遍历所有 Q_PROPERTY 的小部件,并且某些属性正在使用通过 qRegisterMetaType 注册的类型。如果我想将它们读/写到 QVariant 中,我需要在将它们存储到变体中时使用 QVariant::UserType。到现在为止还挺好。
但是当我想测试这些属性的读写时,我还需要知道它们的类型。对于已经是标准 qt 类型的东西,我可以通过 QVariant::type() 做到这一点,但由于我有很多用户类型,这将如何实现?
从 QVariant 的 api 中,我发现了这一点:
bool QVariant::canConvert ( Type t ) const
但是我有点怀疑这是否会在枚举的情况下导致错误的类型?
那么,验证 QVariant 中存储了哪种类型的用户类型的万无一失的方法是什么?
c++ - 如何转换 QMap> 到 QVariant?
QVariant
(需要QSettings
类)支持从创建QMap<QString, QVariant>
但试图初始化这样的东西:
给出错误:
函数返回一个函数。
所以然后我尝试了QMap<QString, QVariant>
重载QVariant()
并得到了
错误:没有匹配的调用函数
QVariant::QVariant(QMap<QString, QMap<QString, int> >&)
现在我尝试了一个类型转换:
并得到
模板参数 2在 ' ' 标记
之前的声明中是无效的无效类型;
那么将嵌套转换QMap
为QVariant
对象所需的巫术是什么?
javascript - Qt 编程:如何在 QVariantMap 中使用自定义数据类型?
我正在编写一个 Qt 应用程序,它将 C++ 类映射到 QtWebkit 中的 Javascript 对象。首先让我解释一下我要做什么:
我有一个继承自 QObject 的类:
在另一个类中,我尝试将 myobj 实例添加到 QVariantMap:
然后我收到以下错误:
所以我尝试添加声明:
但我得到了:
对此有任何想法吗?