Python QTreeView中的网格布局

Python QTreeView中的网格布局,python,qt,view,pyside,Python,Qt,View,Pyside,基本上,我想要的是: Parent |---Item--Item--Item |---Item--Item--Item |---Item--Item Parent |---Item--Item--Item Parent |---Item--Item--Item |---Item--Item 而不是像以下那样的默认实现: Parent |---Item |---Item |---Item |---Item |---Item

基本上,我想要的是:

Parent  
   |---Item--Item--Item
   |---Item--Item--Item
   |---Item--Item
Parent
   |---Item--Item--Item
Parent
   |---Item--Item--Item
   |---Item--Item
而不是像以下那样的默认实现:

Parent  
   |---Item
   |---Item
   |---Item
   |---Item
   |---Item
Parent
   |---Item
   |---Item
Parent
   |---Item
   |---Item
   |---Item

我知道我可以将QAbstractItemView子类化,然后从头开始设置,但是我觉得有一种更简单的方法可以做到这一点,我不知道。

如果您使用的是模型,您应该将QTreeView或qabstractemview子类化。将qabstractemview子类化是我的最终选择。对我来说,区别在于您显示的第一个和第二个树视图中的列数。如果你避免使用模型,你可以构造一个多列的QTreeWidget。子类化视图将毫无用处。您需要做的就是使用a,它已经支持多个列。这样做意味着项目将始终位于同一列中,列数将始终相同,对吗?我觉得决定模型中项目的安排是错误的做法。我想要的是基于可用视口宽度的n列。如果我可以尝试重写适当的方法,或者如果这不起作用,我可能会尝试将QTreeView子类化,我会通过将qabstractemview子类化来编写自己的视图。