前幾篇內容我們了解了使用Python中PyQt5庫進行GUI程序設計時,常用的幾種控制項類。比如:
標籤QLabel(參見盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用)單行文本QLineEdit(參見Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解)多行文本QTextEdit(參見Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解)按鈕QPushButton(參見Python用PyQt5設計漂亮界面之按鈕類控制項的使用,QPushButton詳解)單選按鈕QRadioButton和多選按鈕QCheckBox(連結加不了了,自己找)
這些控制項在GUI編程中經常會用到。
今天,我們來了解一個PyQt5中一個相對不常使用的一個類QSlider滑動條
01滑塊控制項
QSlider滑動條控制項提供了一個垂直或水平的滑塊。簡單來講,滑動條就是一個用於控制有界值的典型控制項,它允許用戶沿水平或垂直方向在一定的範圍內移動滑塊,並將滑塊的位置映射為一個定義範圍內的數值。
從表現形式來看,滑塊分為兩類(垂直、水平),定義方法如下:
hs = QSlider(Qt.Horizontal)
vs = QSlider(Qt.Vertical)
02繼承關係
我們先來了解下它的繼承關係
from PyQt5.Qt import Qslider
>>>QSlider.__mro__
(<class 'PyQt5.QtWidgets.QSlider'>, <class 'PyQt5.QtWidgets.QAbstractSlider'>, <class 'PyQt5.QtWidgets.QWidget'>, <class 'PyQt5.QtCore.QObject'>, <class 'sip.wrapper'>, <class 'PyQt5.QtGui.QPaintDevice'>, <class 'sip.simplewrapper'>, <class 'object'>)
它直接繼承自QAbstracctSlider類,這種模式跟按鈕控制項模式相似。比如:QPushButton、QRadioButton、QCheckBox都直接繼承自QAbstractButton類。
想了解繼承方法的話對比dir(QSlider)和dir(QAbstractSlider)看下兩者有何不同,作為一道作業題,留給大家自己研究。
03常用方法和信號
>>>len(dir(QSlider))
414
將近四百多個方法,怎麼學習?其實,常用的無非就是定義範圍數據、讀取滑塊數據這樣的方法。想做一個高度個性化的滑塊控制項,你只能深入研究這四百多個方法了。我們來看下常用的方法。
基本上常用的就是上面這些了。我們來看一下它的常用信號。
常用方法和信號梳理了,怎麼使用它們創建一個簡單的滑動條控制項呢
04實例說明
我們來看下面的例子:通過調整滑塊,來控制標籤內文字大小。
來看下程序運行效果
當滑動底部的滑塊時,字體大小隨之改變,並在命令行列印輸出滑塊的當前值。
好了,今天的內容就到這裡了,喜歡Python編程的小夥伴們歡迎關注我,後續內容更加精彩。
轉載請註明出處,百家號:Python高手養成