如何将模型用于Qcombobox
-
01-10-2019 - |
题
我想使用 QCombobox
作为一个 Combobox
的 Swing
在 Java
. 。所以我需要使用 Model
握住我的物体。如何将我的对象固定在Qcombobox中。 (我认为我应该在模型中保存数据,因为 QCombobox
是根据MVC模式设计的...)任何帮助将不胜感激。
解决方案
取决于您想显示的内容 QComboBox
, ,您需要编写自己的模型,继承 QAbstractListModel
, ,重新实现 rowCount()
和 data()
.
然后,使用 QComboBox::setModel()
做 QComboBox
显示它。
如果您只想显示字符串,则可以使用 QStringListModel
, ,提供QT。
其他提示
您可以在您的 QCombobox
通过使用 setModel
功能。您可以使用预定义的模型或通过继承来创建自己的模型 QAbstractItemModel
.
您的模型将包含您的对象以将显示与数据分开。
QT使用简化的MVC版本,该版本仅具有模型 /视图零件。
您可以使用所提供的子类之一 qabtractItemModel 如果您不需要任何专业行为,那么使用哪种行为取决于您是否将数据保存在文件系统中还是存储器中的数据结构。
您应该阅读整个部分 模型/查看编程 在QT文档中。
不隶属于 StackOverflow