将QPOINTER存储到QVariant中
Store QPointer into a QVariant
我可以存储一个QPointer
,例如QPointer<QTcpSocket>
在QVariant
中,然后从中提取它?
我尝试了:
QObject *ob = new QObject();
QPointer<QObject> qp(ob);
QVariant qv(qp);
但是我有一个错误-QVariant::QVariant(void*)' is private
。
在进行更多研究之后,使用QVariant::fromValue()
和QVariant::value()
。
示例代码:
QTcpSocket *ob = new QTcpSocket();
qDebug("%p", ob);
QPointer<QTcpSocket> qp(ob);
QVariant qv = QVariant::fromValue(qp);
qp = qv.value<QPointer<QTcpSocket> >();
qDebug("%p", qp.data());
delete ob;
qDebug("%p", qp.data());
这给出了:
0x137c070
0x137c070
0x0
相关文章:
- 将字符串存储在c++中的稳定内存中
- std::原子加载和存储都需要吗
- C++:将控制台输出存储在宏中更好吗
- 使用QProcess执行命令,并将结果存储在QStringList中
- 访问存储在向量C++中的结构的多态成员
- 如何从存储在std::映射中的std::集中删除元素
- 存储模板类型以强制转换回派生<T>
- 类型总是使用其大小存储在内存中吗
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 使用无符号字符数组有效存储内存
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 带结构的二维矢量:如何存储元素
- 添加存储在向量中的大整数的函数出现问题
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 在std::vector上存储带有模板的类实例
- 谷歌测试中的期望值存储在哪里
- 为什么C中的通用链表中存储的数据已损坏
- 将QPOINTER存储到QVariant中
- 将 QList<Custom> 存储在 QVariant 中