问题描述
如何子类化QStandardItemModel
以使用我自己的商品类型(例如MyItem
而不是QStandardItem
)?我的意思是我知道我必须创建一个类并继承QStandardItemModel
,但是接下来呢?如何在任何地方使用MyItem
?是的,MyItem
是在QStandardItem
之后继承的.
How do I subclass QStandardItemModel
to use my own Item type (e.g. MyItem
instead of QStandardItem
)? I mean I know I have to create a class and inherit QStandardItemModel
but what next? How do I make it use MyItem
everywhere? And yes, MyItem
inherits after QStandardItem
.
推荐答案
我认为这是不可能的.您可以将QAbstractItemModel子类化以实现使用您的项目类的模型.
I think it is impossible. You can subclass QAbstractItemModel to implement a model that use your item class.
还可以使用默认的QStandardItemModel并使用QStandardItem::setData
将其他对象添加到项目中.由于它接受QVariant,因此您可以在其中添加任何值,即事件QSharedPointer(您需要注册适当的元类型).
Also you can use default QStandardItemModel and add your additional object to items using QStandardItem::setData
. Since it accepts QVariant, you can put any value in it, event QSharedPointer (you need to register appropriate meta type).
这篇关于如何将QStandardItemModel子类化以使用我自己的Item类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!