- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 QVariantMap
与数据。 QVariant
里面我可以存储在元系统中声明和注册的自定义类。
我知道确实存在 QVariant::value<XXX>()
但因为我不知道先验是什么XXX
我不能那样做。
所以我尝试转换为 QObject*
都带有 QVariant::value<QObject*>
和 qvariant_cast
但它似乎持有一个空指针:
我的尝试:
MyClass* obj = new MyClass();
QVariant variant = QVariant::fromValue<MyClass*>(obj); // it works;
qDebug() << variant; // Qvariant(MyClass*,)
QObject* obj2 = variant.value<QObject*>();
qDebug() << obj2; // QObject(0x0)
最佳答案
OP 提到它适用于:
QVariant variant(QVariant::fromValue(static_cast<void*>(obj)));
auto test = static_cast<QObject*>(variant.value<void*>());
qDebug() << obj2; // MyClass(0x8a99838
如 this answer 中所述
关于Qt如何在不知道内部类型的情况下从QVariant中提取自定义数据指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750946/
我的问题是这个。我有不同数字类型的列表,例如: 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以再次检索它。 一个简单的测试告诉我
我是一名优秀的程序员,十分优秀!