PyQt5 - QScrollBar 視窗小部件



QScrollbar 控制元件使使用者能夠訪問可見區域之外文件的部分。它提供當前位置的可視指示。它有一個滑塊,以類似的方式在預設範圍之間設定值。此值通常與將隱藏的資料帶到視口中相關。

QScrollBar 控制元件有四個控制元件 -

a: 滑塊

b: 兩個滾動箭頭

c: 頁面控制元件

捲軸

以下 QScrollBar 類的訊號經常使用 -

序號 方法和說明
1

valueChanged()

當捲軸的值發生更改時

2

sliderMoved()

當用戶拖動滑塊時

示例

在以下示例中,放置三個捲軸以控制標籤中顯示的文字的字型顏色的 RGB 值。完整程式碼如下 -

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class Example(QWidget):
   def __init__(self):
      super(Example, self).__init__()
      self.initUI()
		
   def initUI(self):
      vbox = QVBoxLayout(self)
      vbox.addLayout(box)
      self.setLayout(vbox)
      hbox = QHBoxLayout()
      self.l1 = QLabel("Drag scrollbar sliders to change color")
      self.l1.setFont(QFont("Arial",16))
		
      hbox.addWidget(self.l1)
      self.s1 = QScrollBar()
      self.s1.setMaximum(255)
		
      self.s1.sliderMoved.connect(self.sliderval)
      self.s2 = QScrollBar()
      self.s2.setMaximum(255)
      self.s2.sliderMoved.connect(self.sliderval)
		
      self.s3 = QScrollBar()
      self.s3.setMaximum(255)
      self.s3.sliderMoved.connect(self.sliderval)
		
      hbox.addWidget(self.s1)
      hbox.addWidget(self.s2)
      hbox.addWidget(self.s3)
		
      self.setGeometry(300, 300, 300, 200)
      self.setWindowTitle('QSplitter demo')
      self.show()
		
   def sliderval(self):
      print self.s1.value(),self.s2.value(), self.s3.value()
      palette = QPalette()
      c = QColor(self.s1.value(),self.s2.value(), self.s3.value(),255)
      palette.setColor(QPalette.Foreground,c)
      self.l1.setPalette(palette)
		
def main():
   app = QApplication(sys.argv)
   ex = Example()
   sys.exit(app.exec_())
	
if __name__ == '__main__':
   main()

以上程式碼產生以下輸出 -

QScrollBar Widget Output
pyqt_basic_widgets.htm
廣告
© . All rights reserved.