- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实现派生的“QAbstractListModel::data”方法。
Q_DECLARE_METATYPE(myType);甚至不编译......返回我的自定义对象会导致编译错误。
如何做到这一点?
最佳答案
QVariant::fromValue<QObject *>(object);
用您自己的类型替换 QObject,但在其上使用 Q_DECLARE_METATYPE。请记住您要声明的内容:MyType
或 MyType *
。由于您正在谈论从 QAbstractItemModel::data
传递一个对象,那么我想您想要提供一个指向该对象的指针,这是正确的吗?如果是这样,那么声明如下:
typedef MyType * MyTypeStar
Q_DECLARE_METATYPE(MyTypeStar);
这将使 MyType *
为元类型系统所知。
如果你想传递对象本身,那么声明你尝试过的方式,但要确保你正确定义了你的类型:
Q_DECLARE_METATYPE: This macro makes the type Type known to QMetaType as long as it provides a public default constructor, a public copy constructor and a public destructor. It is needed to use the type Type as a custom type in QVariant.
关于QT:问题,如何将我自己的 QObject 派生自定义类作为 “QVariant” 返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5355649/
我的问题是这个。我有不同数字类型的列表,例如: QList mylist; 现在,在我的代码中,我有一个函数需要一个 QVariant 参数,即 mylist。我发现这样做的唯一方法是使用 for c
当我调用下面的函数时它崩溃了 void RequestBuilder::setData(QVariant &data) { this->data=data; } data 包含一个QVaria
我在创建具有自定义类型的 QVariant 时遇到问题。这是一个小例子,展示了我想要实现的目标: 主要.cpp: #include "MyClass.h" int main() { MyClass
我正在编写测试代码,该代码将自动遍历所有 Q_PROPERTY 小部件,并且某些属性使用通过 qRegisterMetaType 注册的类型。如果我想将这些读/写到 QVariant 中,我需要在将它
我正在尝试使用 setProperty(); 将 C++ 对象公开给 QML。这是我的代码的原型(prototype): MyClass.h class MyClass::public QObject
我正在尝试存储 QList在 QVariant然后进行类型检查以确定存储在 QVariant 中的值的确切类型(用于序列化)。 QVariant::type()适用于 int 等标量类型或 QStri
头文件中的声明 QColor dialogBoja, dialogBoja1; .cpp 文件 dialogBoja = postavke.value("boja", Qt::black).toStr
关于 QVariant::type() 的文档说: Returns the storage type of the value stored in the variant. Although this
我正在尝试为 treeView 设置模型,(我的模型类继承自 QAbstractItemModel) CardsTreeModel * myModel=new CardsTreeModel(file.
我试图在 qt 5.1 中为 json 创建一个包装类,我正在研究一个函数,该函数将检查输入的 var 是 QVariantMap 还是只是 QVariant,并且一切正常,直到我进入第二个muli
我正在编写一个词法扫描器,它可以根据某些输入生成标记流。这些 token 具有类型和值。由于我使用的是 Qt,因此我选择将 token 数据存储为 QVariant。这对于非自定义类型的 token
我想知道,QVariant内部如何存储,int,QMap,QList,... 我的意思是内部数据结构/实现是什么?在 QVariant 中存储和检索类型(int、float)的开销是多少? 最佳答案
java 是否有类似于 QVariant 的数据类型,但不使用 java qt 绑定(bind)? 我想要一个 Map ,以便容器中的每个值都可以有不同的数据类型。 JAVA有这个吗? 附注JAVA菜
我有一个名为 Segment 的类,它包含一些 QString 并且打算被子类化。 我创建了一个 std::list 的 Segment 对象,并想将该列表转换为 QVariantList。但这首先要
我有这样一个类层次结构: class Base { ... virtual QWidget* getEditor(); ... } class Derived { ... QWidget* getEd
我有两个这样的类: class Foo { public: Foo(int i) : _i(i) {} int _i; }; Q_DECLARE_METATYPE(Foo*) class
更新 我创建了一个 qt bugticket希望文档得到扩展。 原始问题 相信 Question from 2010和 Qt Documentation , operator==() 不适用于自定义类
我需要使用 QList作为 std::unordered_map 的关键.这样做的目的是通过在唯一键列上建立索引来优化对数据表的搜索。 所以我写了这段代码。它并不完整,但列出了表键列中出现的一些基本数
我有这样的类(class): class QObjectDerived : public QObject { Q_OBJECT // ... }; Q_DECLARE_METATYPE
我需要使用QQmlContext::setContextProperty()在qml中分配一个指向自定义类的指针。另一个qml对象具有相同类型的Q_PROPERTY以再次检索它。 一个简单的测试告诉我
我是一名优秀的程序员,十分优秀!