使用手势滚动QTreeWidget

时间:2017-10-22 19:44:16

标签: python pyqt scrollbar pyqt5 qtreewidget

我正在用Python 3.5和PyQt5编写一个程序。我有一个QTreeWidget,里面有一个项目列表。我想隐藏滚动条并在垂直方向上进行触摸滚动。这是我的代码:

var_col= df['Var'].unique()
type_col= df['Type'].unique()

for i in var_col:
   for j in type_col:
      result= df[df['Var']==i][df['Type']==j][df['Level']=='Exposed'] / df[df['Var']==i][df['Type']==j][df['Level']=='Unexposed']
      ...

问题在于,当我在QTreeWidget上滑动以使其滚动时,它会转到视图的结尾或开始,并且不会正常滚动。

1 个答案:

答案 0 :(得分:1)

看起来你需要使用QScroller类。似乎这样的事情应该有效:

QScroller.grabGesture(self.category_tree.viewport(), QScroller.TouchGesture)

但是,我无法自己测试,因此您可能需要进行一些实验以获得所需的行为。

<强>更新

您可能还需要更改垂直滚动模式:

self.category_tree.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel)