我有一个要填充的QColumnView
的分层数据源。数据源使用REST接口从服务器加载数据。在
假设层次结构如下所示:
Car_Manufacturer -> Car_Type -> Specific_Model -> Motor_Type
我必须使用QColumnView
来显示这个(因为这是客户的要求)。行为应该是这样的:
当程序启动时,它从服务器加载Car_Manufacturer
。单击其中一个Car_Manufacturer
项时,所选Car_Manufacturer
的Car_Type
项将从服务器加载并显示在新列中。当再次单击Car_Manufacturer
时,必须再次从服务器获取数据并更新列。单击Car_Type
时,必须从服务器查询此Car_Manufacturer
和{Specific_Model
项,并将其加载到新列中。。。等等。在
数据源具有以下api:
^{pr2}$其中层次结构中的每个元素都是项的字符串键表示。当一个项目被点击时,它必须用current项目的层次结构通知控制器。在
当使用数据源单击某个项时,如何让QColumnView更新该项的子项?当添加或删除新的层次结构层时,如何保持灵活性?在
下面是一个实现自定义DirModel的示例。 方法&u create_children被延迟调用,应该返回实现AbstractTreeItem的实例列表。在
由于您不能同时带来所有数据filter it out,因此您必须根据QColumnView中的用户has selected随时修改项模型(adding和{a3})。在
删除项目的方法不止一种:
无论你采取什么样的选择,你都必须以某种方式反映物品之间的关系。或者从QAbstractItemModel中实现,我认为这是一种过度的杀戮。在
相关问题 更多 >
编程相关推荐