QTreeWidget在添加了数据之后点击扩展箭头展开和收缩的时候会显得卡顿,这个是qt内核的一个bug,正常情况下应该是立即响应的,既然是qt的bug,就只能换种方式实现TreeWidget来解决这个bug,具体办法大致可以有一下几种,具体看需求来决定用哪一种方法更好:
- 如果需求要求实现的TreeWidget不要求是完全的TreeWidget,扩展的层次是有限制的,就是只有2层,3层或者4层,需求要求的TreeWidget节点层次比较少有限制,可以使用QListView这样的空间代替QTreeWidget,只要控制好他们层次的扩展关系,自定义响应的类型是父类型还是子类型等,来控制改显示的item是应该缩进的大小。如果是子节点就绘制缩进大一点,如果是父节点就让缩进的小一点,这样就能用类似QListView做出类似QTreeWidget的效果了
2.还有一种办法就是还是使用类似QTreeWidget组件,关于这个操作扩展和收缩会卡顿的bug可以隐藏起来,换一种办法实现。如何隐藏起来呢,QTreeWidget有一个属性
indentation : int