最近的一个项目是部署在触摸屏设备上的,第一次接触没什么经验,特此记录一下遇到的两个问题。
1. QTableWidget 设置触摸屏滑动。
scroller = QScroller.scroller(table)
scroller.grabGesture(table,
QScroller.ScrollerGestureType.LeftMouseButtonGesture)
table.setVerticalScrollMode(QListWidget.ScrollMode.ScrollPerPixel)
table.setHorizontalScrollMode(QListWidget.ScrollMode.ScrollPerPixel)
只需要对相应控件设置一下手势为鼠标左键并且scrollMode 为按像素滑动, 对QTableWidget、QTableView、QListWidget、QListView等都适用。
2. 这样设置后可以实现触摸滑动,但是有一个问题,就是按住滚动条拖动时仍然是触摸滑动效果,也就是说拖动滚动条失效。
scroller.grabGesture(table.viewport(),
QScroller.ScrollerGestureType.LeftMouseButtonGesture)
这里需要将之前的控件改为table.viewport()即可。