QMetaObject 的 QAbstractItemModel,我必须自己写吗?
Posted
技术标签:
【中文标题】QMetaObject 的 QAbstractItemModel,我必须自己写吗?【英文标题】:QAbstractItemModel for QMetaObject, do I have to write it myself? 【发布时间】:2010-09-20 02:49:01 【问题描述】:建立在 Qt 反射系统之上的一套数据模型似乎是一种自然的协同作用,但我在 Qt 库本身或第三方中都没有找到这样的野兽。有谁知道这样的事情是否存在?
我正在寻找用于编辑和显示 QObjects QMetaObject 属性集合的数据模型。我可以理解为什么这不包含在 Qt 库中(因为不可能以干净的方式公开所有 QMetaObject)但我希望我不必编写一堆数据模型和代理模型来显示 QObjects 的层次结构和属性。
【问题讨论】:
这听起来像是动态属性网格,对吧?就像在 qt 设计器中,它根据 QWidget 的每个子类类型分隔属性? 这肯定是一种用途。 【参考方案1】:如果您代表QObjects
的树,那么QStandardItemModel 可能会满足您的需求。如果不是,您可能会继承它而不是 QAbstractItemModel
。
【讨论】:
终于有机会阅读文档和实验,看起来确实够好!以上是关于QMetaObject 的 QAbstractItemModel,我必须自己写吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 QT 支持构建 OpenCV 时未解析的符号 QMetaObject
理解 QMetaObject :: invokeMethod 的参数 - QtQuick
QMetaObject 的 QAbstractItemModel,我必须自己写吗?
如何使用QMetaObject :: activate发出信号