我想要填充QColumnView
的分层数据源。数据源使用REST接口从服务器加载数据。
让我们说层次结构如下:
Car_Manufacturer -> Car_Type -> Specific_Model -> Motor_Type
我必须使用QColumnView
来显示此信息(因为这是客户要求)。行为应该是这样的:
程序启动时,会从服务器加载Car_Manufacturer
。单击其中一个Car_Manufacturer
项时,将从服务器加载所选Car_Type
的{{1}}项并显示在新列中。再次单击Car_Manufacturer
时,必须再次从服务器获取数据,并且必须更新列。单击Car_Manufacturer
后,必须从服务器查询此Car_Type
和Specific_Model
的{{1}}项并将其加载到新列中......依此类推。< / p>
数据源有这个api:
Car_Manufacturer
层次结构中的每个元素都是项目的字符串键表示。单击某个项目时,必须通过curernt项目的层次结构通知控制器。
如何在使用数据源单击项目时让QColumnView更新一个项目的子项?添加或删除新的层次结构层时,如何保持灵活性?
答案 0 :(得分:1)
假设您无法一次性提供所有数据filter it out,则您必须在旅途中修改项目模型(adding和removing rows)来自QColumnView的用户has selected。
删除商品的方法不止一种:
您采取的任何选择,您都必须以某种方式反映项目之间的关系。那个或QAbstractItemModel的实现,我认为这将是一个过度杀伤。