小编Sam*_*Sam的帖子

子模型/视图用于定制对象列表的模型

我对Qt的经验不足,无法做出好的设计选择。经验丰富的Qt程序员的任何帮助将不胜感激。
我正在尝试找出要子类化的模型,要使用的视图,应该执行的委托子类化/扩展...

我的问题类似于:我要显示这些区域,每行1个:

class Zone{

    //inputs
    string country;  //edited with a QComboBox
    string city;     //edited with a QComboBox
    int ageMin;

    //stored result
    int nbInhabitantsOlderThanMin;
}
Run Code Online (Sandbox Code Playgroud)

这是我想要做的,每个需求的设计选择使我想到:

  • 我想显示它们的列表(-> QListView
  • 但是要显示一项,我需要几列(-> QTableView
  • 我想要双击以触发自定义窗口小部件中的编辑,因为无法编辑nbInhabitantsOlderThanMin,并且选择国家/地区限制了可以在QComboBox中选择的城市列表(反之亦然) ->我可能应该在某个地方使用QDataWidgetMapper(或子类?)。

    因此,尽管行的版本应该在小部件中进行,但显示是简单的/不是自定义的,并且将委托子类化(例如,QStyledItemDelegate)(我不太确定这一点)似乎不是正确的方法具有1个自定义窗口小部件以及许多子输入窗口小部件,以同时编辑3个字段。
    我认为要建模的数据将偏向于QAbstractListModel的模型子类,但是具有许多与默认委托查看兼容的列的显示偏向于QAbstractTableModel

所以我真的不知道该选择哪种设计。任何有经验的帮助连接点都是非常欢迎的:)

c++ model-view-controller qt qt4

3
推荐指数
1
解决办法
1328
查看次数

标签 统计

c++ ×1

model-view-controller ×1

qt ×1

qt4 ×1