溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中使用QSlider控件

發(fā)布時間:2021-03-20 16:29:56 來源:億速云 閱讀:149 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)怎么在python中使用QSlider控件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

PyQt5滑塊條控件QSlider介紹

QSlider控件提供一個垂直或者水平的滑動條,滑動條是一個用于控制有界值典型的控件,它允許用戶沿水平或者垂直方向在某一范圍內(nèi)移動滑塊,并將滑塊所在的位置轉(zhuǎn)換為一個合法范圍內(nèi)的整數(shù)值,有時候這中方式比輸入數(shù)字或者使用SpinBox(計數(shù)器·)更加自然,在槽函數(shù)中對滑塊所在位置的處理相當于從整數(shù)之間的最小值和最高值進行取值

一個滑塊條控件可以以垂直或者水平的方式顯示,在構(gòu)造函數(shù)中進行設置

self.sp=QSlider(Qt.Horizontal)
self.sp=Qslider(Qt.Vertical)

QSlider類中常用的方法如表所示

方法描述
setMinimum()設置滑動條控件的最小值
setMaximum()設置滑動條控件的最大值
setSingleStep()設置滑動條控件的步長
setValue()設置滑動條控件的值
value()獲取滑動條控件的值
setTickInterval()設置刻度間隔
setTickPosition()設置刻度標記的位置,可以輸入一個枚舉值,這個枚舉值指定刻度線想當與滑塊和用戶操作的位置,以下是可以輸入的枚舉值:

QSlider.NoTicks:不繪制任何刻度線

QSlider.TicksBothSides:在滑塊的兩側(cè)繪制刻度線

QSlider.TicksAbove:在滑塊的(水平)上方繪制刻度線

QSlider.TicksBelow:在滑塊的(水平)下方繪制刻度線

QSlider.TicksLeft:在滑塊的(垂直)左側(cè)繪制刻度線

QSlider.TicksRight,在滑塊的(垂直)右側(cè)繪制刻度線

QSlider類中的常用信號

信號描述
vlaueChanged當滑塊的值發(fā)生改變時發(fā)射此信號,此信號是最常用的
sliderPressed當用戶按下滑塊時發(fā)射此信號
sliderMoved當用戶拖動滑塊時發(fā)射此信號
slierReleased當用戶釋放滑塊時發(fā)射此信號

QSlider的使用實例

通過滑塊控制字體的大小

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

class SliderDemo(QWidget):
  def __init__(self,parent=None):
    super(SliderDemo, self).__init__(parent)
    #設置標題與初始大小
    self.setWindowTitle('QSlider例子')
    self.resize(300,100)

    #垂直布局
    layout=QVBoxLayout()

    #創(chuàng)建標簽,居中
    self.l1=QLabel('Hello PyQt5')
    self.l1.setAlignment(Qt.AlignCenter)
    layout.addWidget(self.l1)
    #創(chuàng)建水平方向滑動條
    self.s1=QSlider(Qt.Horizontal)
    ##設置最小值
    self.s1.setMinimum(10)
    #設置最大值
    self.s1.setMaximum(50)
    #步長
    self.s1.setSingleStep(3)
    #設置當前值
    self.s1.setValue(20)
    #刻度位置,刻度下方
    self.s1.setTickPosition(QSlider.TicksBelow)
    #設置刻度間距
    self.s1.setTickInterval(5)
    layout.addWidget(self.s1)
    #設置連接信號槽函數(shù)
    self.s1.valueChanged.connect(self.valuechange)

    self.setLayout(layout)

  def valuechange(self):
    #輸出當前地刻度值,利用刻度值來調(diào)節(jié)字體大小
    print('current slider value=%s'%self.s1.value())
    size=self.s1.value()
    self.l1.setFont(QFont('Arial',size))

if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=SliderDemo()
  demo.show()
  sys.exit(app.exec_())

運行效果圖如下

怎么在python中使用QSlider控件

怎么在python中使用QSlider控件

代碼分析:

在這個例子中,將一個標簽和一個水平滑動條放置在一個垂直布局管理器中,將滑塊的valueChanged信號連接到valuechange()函數(shù)

self.s1.valueChanged.connect(self.valuechange)

槽函數(shù)valuechange()讀取滑塊的當前值,并將其作為字號的大小

size=self.s1.value()
self.l1.setFont(QFont('Arial',size))

使用setTickInterval(5)設置刻度間隔后,在繪制刻度時就會有幾個刻度點,刻度點數(shù)=(最大值-最小值)/刻度間隔+1

self.s1.setMinimum(10)
self.s1.setMaximum(50)
self.s1.setTickInterval(5)

以上就是怎么在python中使用QSlider控件,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI