第20天 | 28天學會PyQt5,滑塊控制元件

滑塊QSlider控制元件提供一個垂直或者水平的滑動條,滑動條是一個用於控制有界值典型的控制元件,它允許使用者沿水平或者垂直方向在某一範圍內移動滑塊,並將滑塊所在的位置轉換為一個合法範圍內的整數值,有時候這中方式比輸入數字更加自然。

QSlider控制元件的常用事件型別有如下幾種。

事件型別

描述

vlaueChanged

滑塊的值發生改變時觸發事件,此型別是最常用的

sliderPressed

按下滑塊時觸發事件

sliderMoved

拖動滑塊時觸發事件

slierReleased

釋放滑塊時觸發事件

滑塊控制元件QSlider可以以水平或垂直的方式顯示,只需在建構函式中設定不同的值即可,Qt。Horizontal表示水平,Qt。Vertical表示垂直。QSlider控制元件的常用方法如下表所示。

方法

描述

setMinimum()

設定滑動條控制元件的最小值

setMaximum()

設定滑動條控制元件的最大值

setSingleStep()

設定滑動條控制元件的步長

setValue()

設定滑動條控制元件的值

value()

獲取滑動條控制元件的值

setTickInterval()

設定刻度間隔

setTickPosition

(QSlider_TickPosition)

設定刻度標記的位置,可以輸入一個列舉值,這個列舉值指定刻度線相當於滑塊和使用者操作的位置,可選列舉值,往下看。

QSlider_TickPosition可選列舉值如下表所示。

列舉值

描述

QSlider。NoTicks

不繪製任何刻度線

QSlider。TicksBothSides

在滑塊的兩側繪製刻度線

QSlider。TicksAbove

在水平的滑塊上方繪製刻度線

QSlider。TicksBelow

在水平的滑塊下方繪製刻度線

QSlider。TicksLeft

在垂直滑塊的左側繪製刻度線

QSlider。TicksRight

在垂直滑塊的右側繪製刻度線

程式清單:slider。py

import sysfrom PyQt5。QtWidgets import QApplication, QWidget, QDesktopWidget, QLabel, QSlider, QSpinBox, QVBoxLayoutfrom PyQt5。QtCore import Qt# 繼承QWidgetclass SliderWidget(QWidget): info_lbl = None def __init__(self): super()。__init__() self。init_ui() def init_ui(self): # 垂直佈局 v_box = QVBoxLayout() self。info_lbl = QLabel(“滑塊控制元件的當前值為:10”) v_box。addWidget(self。info_lbl) # 建立水平方向滑動條 slider = QSlider(Qt。Horizontal) slider。setProperty(“id”, 1) slider。setMinimum(10) # 設定最小值 slider。setMaximum(100) # 設定最大值 slider。setSingleStep(10) # 步長 slider。setValue(20) # 設定當前值 slider。setTickInterval(10) # 設定刻度間距 slider。valueChanged。connect(self。valuechange) v_box。addWidget(slider) self。setLayout(v_box) # 調整視窗大小 self。resize(600, 200) # 視窗居中 self。center() # 視窗標題 self。setWindowTitle(“滑塊的應用”) # 顯示視窗 self。show() def valuechange(self): sender = self。sender() self。info_lbl。setText(“滑塊控制元件的當前值為:%d” % sender。value()) # 實現居中 def center(self): f = self。frameGeometry() c = QDesktopWidget()。availableGeometry()。center() f。moveCenter(c) self。move(f。topLeft())if __name__ == “__main__”: app = QApplication(sys。argv) w = SliderWidget() sys。exit(app。exec_())

執行程式之後,彈出的視窗如下:

第20天 | 28天學會PyQt5,滑塊控制元件

好了,滑塊控制元件的內容就說到這了,關注我,下一節更精彩。

碼字不易,你的關注和轉發是對我最大的鼓勵,謝謝!

一個當了10年技術總監的老傢伙,分享多年的程式設計經驗。想學程式設計的朋友,關注我,你就賺到了。我正在分享Python、前端、Java和App方面的乾貨了。趕緊來圍觀啊!!!