【问题标题】:How to expand top-level QTreeview items如何扩展顶级 QTreeview 项目
【发布时间】:2018-05-15 18:18:48
【问题描述】:

我不明白为什么这似乎没有扩展 QTreeView 中的顶级根项:

# clear existing treeview data
model = self.treeview.model().sourceModel()
model.clear()

# add treeview items here

# expand root level items
root = model.invisibleRootItem()
index = root.index()
for i in range(root.rowCount()):
    item = model.indexFromItem(model.item(i,0))
    self.treeview.expand(item)
    self.treeview.setExpanded(item, True)
    print 'expanded'

【问题讨论】:

    标签: python pyside expand qtreeview


    【解决方案1】:

    如果您使用代理模型,则必须使用它提供的索引,而不是源模型中的索引。所以要么这样做:

    proxy = self.treeview.model()
    
    for row in range(proxy.rowCount()):
        index = proxy.index(row, 0)
        self.treeview.expand(index)
    

    或者这个:

    proxy = self.treeview.model()
    model = proxy.sourceModel()    
    
    for row in range(model.rowCount()):
        index = model.index(row, 0)
        self.treeview.expand(proxy.mapFromSource(index))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多