我有一个QListWidget
日历。每个QListWidgetItem
在逻辑上与一个实例相关联Calendar
,它是属于应用程序模型端的类。
我可以使用指针的形式存储这个关联吗QListWidgetItem::setData
?当我尝试执行此操作时,出现以下错误:
错误:“QVariant::QVariant(void*)”是私有的
void* 还有另一个构造函数:QVariant::QVariant(int typeOrUserType, const void * copy)
您应该在其中传递一个唯一的整数来表示指针类型。
但正如文档所述,您可以使用以下方式声明指针类型Q_DECLARE_METATYPE(Calendar*)
并使用QVariant::fromValue<Calendar*>(...)
and QVariant::value<Calendar*>()
存储和检索值。
或者相反,因为您正在使用QListWidget
您可以直接子类化,而不是常规模型QListWidgetItem
,并添加一个Calendar*
具有所需访问器的成员变量,以避免使用的开销QVariant
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)