展开QTreeView底部的项目时,视图不会自动滚动显示新展开的项目。我可以通过检测扩展并在适当的时候自己执行滚动来解决这个问题。
但是,我希望允许用户将视图滚动到比当前允许的更远的位置。目前,如果树太高而无法放入可见区域,则只能滚动视图,直到最底部的行进入视图。
我认为这可以通过欺骗QTreeView的大小计算来实现,但即使在源头潜水之后,我也不了解QTreeView与其基础QAbstractScrollArea之间的交互,以便知道要戳的内容,或者从哪里开始戳。
如果所有其他方法都失败了,我可能会在我的数据模型中添加一些虚拟的,不可编辑的行。
答案 0 :(得分:2)
您可以通过增加其垂直滚动条maximum值为树视图添加额外的空白区域。像这样的Smth:
max = self.treeview.verticalScrollBar().maximum()
self.treeview.verticalScrollBar().setMaximum(max*2)
希望这有帮助,尊重