有没有办法删除所有分配给QObject
的动态属性?从QObject中删除动态属性
回答
试试这个:
for (auto const &name : object->dynamicPropertyNames())
{
object->setProperty(name.constData(), {});
}
Q_ASSERT(object->dynamicPropertyNames().empty());
这遍历所有的动态特性,并设置空QVariant
值。 如果断言失败比,这是一个Qt的bug,因为documetation说:
http://doc.qt.io/qt-5/qobject.html#dynamic-properties
从Qt的4.2,动态属性可以被添加到并在运行时的QObject从实例中删除。
和
动态属性...可以通过属性值设置为无效
QVariant
被删除。
这就是我现在正在做的事情,但烦恼有一个空/无效属性的巨大列表。 –
比它是一个错误,因为文档说你可以删除动态属性,并且没有API接受'setProperty'来删除它。 –
涂料,我没有真正阅读文档的那一部分。我只是假设他们没有离开。 –
- 1. 动态删除属性的C#属性
- 2. xpath从动态属性列表中删除一个属性
- 3. QObject双删除
- 4. 是否可以从动态类中删除属性?
- 5. 属性中删除
- 6. 从Jobject删除属性c#
- 7. 自我删除的QObject
- 8. 删除属性
- 9. 删除图像动态使用jQuery通过清除src属性
- 10. 如何在c#中动态设置/删除属性?
- 11. 软删除模型中断动态属性
- 12. 如何在asp.net中动态添加/删除HTML属性
- 13. 从responsetext属性中删除引号
- 14. 如何从xml中删除xsi:type属性?
- 15. 从Javascript对象中删除属性
- 16. 如何从Protobuf中删除属性?
- 17. 如何从Cookie中删除HttpOnly属性
- 18. 从window.navigator中删除oscpu属性
- 19. 从prestashop中删除默认属性1.6.1
- 20. Log4J:从CloseableThreadContext中删除属性
- 21. 如何从对象中删除属性?
- 22. 从肥皂头中删除mustUnderstand属性
- 23. 从字符串中删除XML属性
- 24. 从目录中删除只读属性
- 25. 从HTML标签中删除属性
- 26. PHP:从DOMNode对象中删除属性
- 27. 从元素中删除属性
- 28. 如何从对象中删除属性?
- 29. 从标签中删除事件属性
- 30. 猫鼬,从模型中删除属性
是的 - 只是分配无效的QVariant给他们。 –