主要使用QTableWidget中的三个函数实现:
- verticalScrollBar().setSliderPosition() 设置当前滑动条的位置
- verticalScrollBar().maximum() 滑动条能移动的最大位置
- verticalScrollBar().value() 获得当前滑动条的位置
实现翻页功能时,可以继承QTableWidget重新定义TableWidget,方便调用:
class MyTableWidget(QtGui.QTableWidget):
def __init__(self):
super(MyTableWidget, self).__init__() self.nCurScroller = 0 # 翻页时的当时滑动条位置
self.pageValue = 24 # 一页显示条数
self.create_form() def create_form(self):
self.horizontalHeader().setVisible(False) # 隐藏水平表头
self.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked) # 双击编辑
# self.horizontalHeader().setResizeMode(QtGui.QHeaderView.ResizeToContents)
# self.verticalHeader().setResizeMode(QtGui.QHeaderView.ResizeToContents) def pre_page(self): max_value = self.verticalScrollBar().maximum() # 当前SCROLLER最大显示值
self.nCurScroller = self.verticalScrollBar().value() # 获得当前scroller值 if self.nCurScroller > 0:
self.verticalScrollBar().setSliderPosition(self.nCurScroller - self.pageValue)
else:
self.verticalScrollBar().setSliderPosition(max_value) def next_page(self): # verticalScrollBar().setSliderPosition() 设置当前滑动条的位置
# verticalScrollBar().maximum() 滑动条能移动的最大位置
# verticalScrollBar().value() 获得当前滑动条的位置
max_value = self.verticalScrollBar().maximum() # 当前SCROLLER最大显示值
self.nCurScroller = self.verticalScrollBar().value() # 获得当前scroller值 if self.nCurScroller < max_value:
self.verticalScrollBar().setSliderPosition(self.pageValue + self.nCurScroller)
else:
self.verticalScrollBar().setSliderPosition(0)