c++ - 如何将 QVariant 转换为自定义类?

标签 c++ linux qt casting

我在 QTreeWidgetItem 中有一个 QVariant 对象,如何将其转换为我自己的对象?

最佳答案

您需要在 .h 文件中的某个位置声明以下内容:

Q_DECLARE_METATYPE(MyStruct)

然后你就可以使用:

MyStruct s;
QVariant var;
var.setValue(s); // copy s into the variant

// retrieve the value
MyStruct s2 = var.value<MyStruct>();

see the docs here

关于c++ - 如何将 QVariant 转换为自定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353694/

相关文章:

c++ - 在 C++ 中没有匹配的调用函数

c++ - std::pair 数组的聚合初始化

c++ - opengl中如何用鼠标点击获取帧缓冲区中绘制图形的像素信息

linux - Linux 上的 Qt5 - Linguist 在哪里?

c++ - 将 long int 秒转换为 double 浮点值

linux - 将文件(脚本)保存在 WSL 文件系统上有什么好处

Linux/X11 不创建窗口的输入库

linux - 学习linux驱动

c++ - Qt-Frameless 窗口和 OS 按钮

c++ - 为什么 OpenCL 内核不对 Image2D 使用正常的 x y 坐标?