问题标签 [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 投票
2 回答
2296 浏览

linux - QVariant 和 qRegisterMetaType 问题

我有一个类 Pkg,我需要以 QVariant 的形式使用它。

在我的 Pkg.h 结束时,我有:

这不会产生编译错误,但在我的 main.cpp 中我必须这样做:

这也不会产生错误,但是当我尝试创建 QVariant(Pkg) 时,会出现很多错误,例如:

和错误再次错误......

0 投票
1 回答
1383 浏览

linux - qt4.4.3 上的 QVariant/QTreeWidgetItem/iterator 问题

在我的 qt 应用程序中,我有这个对象,在设置我的 QTreeWidget 的内容之前填充:

我通过这种方式填充 QList:

在工作结束时,我的 QList 有近 1000 个项目。

我需要遍历它们,并且对于每个项目,我需要通过这种(经过测试和工作)方式获取“linuxPackage”数据:

所以,我一直在尝试通过这种方式提取所需的数据:

但没有任何效果,我什至无法编译程序。帮助!:D

0 投票
0 回答
1013 浏览

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?

0 投票
3 回答
16334 浏览

qt4 - 将自定义类型的 QVariant 转换为 QString

我有一个名为 Money 的自定义类,我用 Q_DECLARE_METATYPE() 声明了它。

我将它存储在 QVariant 中,我想将其转换为 QString:

变量s最终成为空字符串,因为 QVariant 不知道如何将我的自定义类型转换为字符串。有没有办法做到这一点?

0 投票
3 回答
2092 浏览

pyqt - 是否有可能自动将 QVariants 转换为 Python 对象?

PyQt 4.5.4,Python 2.6.2

由于版本 4.5.2 PyQt 能够接受以前只QVariants允许的任何 Python 对象。这会导致一些问题:

有没有可能消除这种不一致?

0 投票
2 回答
5094 浏览

python - 如何从 PyQt4 中的 QVariant 取回我的 python 对象?

我正在创建一个QAbstractItemModel要显示在QTreeView.

我的index()and函数使用继承parent()的函数创建并为其提供,和需要的。在这里,出于测试目的,数据是 Python 字符串。QModelIndexQAbstractItemModelcreateIndexrowcolumndata

index()parent()data()函数中,我需要取回我的数据。它以QVariant. 如何从 QVariant 取回我的 Python 对象?

0 投票
3 回答
5562 浏览

c++ - 如何支持包含自定义类型的 QVariant 对象的比较?

根据 Qt 文档,QVariant::operator==如果变体包含自定义类型,则不会像预期的那样工作:

bool QVariant::operator== ( const QVariant & v ) const

将此 QVariant 与 v 进行比较,如果相等则返回 true;否则返回假。

在自定义类型的情况下,不调用它们的相等运算符。而是比较值的地址。

你应该如何让它对你的自定义类型有意义?就我而言,我将枚举值存储在 QVariant 中,例如

在标题中:

函数中的某处:

为了使这个断言成立,我需要做些什么不同的事情?

我理解为什么它不起作用——每个变体都存储枚举值的单独副本,因此它们具有不同的地址。我想知道如何更改将这些值存储在变体中的方法,以便这不是问题,或者它们都引用相同的基础变量。

它认为我不可能绕过需要平等比较才能工作。上下文是我将此枚举用作 a 中项目中的 UserData,QComboBox并且我希望能够使用它QComboBox::findData来定位与特定枚举值相对应的项目索引。

0 投票
1 回答
20637 浏览

qt - 如何验证 QVariant::UserType 类型的 QVariant 是预期类型?

我正在编写测试代码,它将自动遍历所有 Q_PROPERTY 的小部件,并且某些属性正在使用通过 qRegisterMetaType 注册的类型。如果我想将它们读/写到 QVariant 中,我需要在将它们存储到变体中时使用 QVariant::UserType。到现在为止还挺好。

但是当我想测试这些属性的读写时,我还需要知道它们的类型。对于已经是标准 qt 类型的东西,我可以通过 QVariant::type() 做到这一点,但由于我有很多用户类型,这将如何实现?

从 QVariant 的 api 中,我发现了这一点:

bool QVariant::canConvert ( Type t ) const

但是我有点怀疑这是否会在枚举的情况下导致错误的类型?

那么,验证 QVariant 中存储了哪种类型的用户类型的万无一失的方法是什么?

0 投票
2 回答
9405 浏览

c++ - 如何转换 QMap> 到 QVariant?

QVariant(需要QSettings类)支持从创建QMap<QString, QVariant>

但试图初始化这样的东西:

给出错误:

函数返回一个函数。

所以然后我尝试了QMap<QString, QVariant>重载QVariant()并得到了

错误:没有匹配的调用函数QVariant::QVariant(QMap<QString, QMap<QString, int> >&)

现在我尝试了一个类型转换:

并得到

模板参数 2在 ' ' 标记
之前的声明中是无效的无效类型;

那么将嵌套转换QMapQVariant对象所需的巫术是什么?

0 投票
2 回答
2498 浏览

javascript - Qt 编程:如何在 QVariantMap 中使用自定义数据类型?

我正在编写一个 Qt 应用程序,它将 C++ 类映射到 QtWebkit 中的 Javascript 对象。首先让我解释一下我要做什么:

我有一个继承自 QObject 的类:

在另一个类中,我尝试将 myobj 实例添加到 QVariantMap:

然后我收到以下错误:

所以我尝试添加声明:

但我得到了:

对此有任何想法吗?