PyQt—QTableWidget實現翻頁功能


主要使用QTableWidget中的三個函數實現:

  1. verticalScrollBar().setSliderPosition() 設置當前滑動條的位置
  2. verticalScrollBar().maximum() 滑動條能移動的最大位置
  3. 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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM