Python Qt GUI设计:QSlider滑动条类(基础篇—16)
生活随笔
收集整理的這篇文章主要介紹了
Python Qt GUI设计:QSlider滑动条类(基础篇—16)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QSlider控件提供了一個垂直或水平的滑動條,滑動條是一個用于控制有界值的典型控件,它允許用戶沿水平或垂直方向在某一范圍內移動滑塊,并將滑塊所在的位置轉換成一個合法范圍內的整數值。
有時候這種方式比輸入數字或者使用SpinBox(計數器)更加自然,只需要在槽函數中對滑塊所在位置的處理相當于從整數之間的最小值和最高值進行取值。
QSlider類中的常用方法如下表所示:
QSlider類中的常用信號如下表所示:?
一個滑塊條控件可以以水平或垂直的方式顯示,在構造函數中進行設置如下所示:
self.sp=QSlider(Qt.Horizontal)
self.sp=QSlider(Qt.Vertical)
來看看QSlider滑動條類的示例,效果如下所示:
這里示例中,在PyQt 5的窗口中使用QSlider滑動條控件,隨著滑動條的移動,標簽的字號大小也隨著發生變化。
將一個標簽和一個水平滑動條放置在一個垂直布局管理器中。將滑塊的valueChanged信號連接到valuechange()函數。槽函數valuechange()讀取滑塊的當前值,并將其作為字號的大小。
使用setTickInterval(5)設置刻度間隔后,在繪制刻度時就會有9個刻度點(從10開始,每隔步長5繪制一個點,到50處結束),也就是說,刻度點個數=(最大值-最小值刻度間隔+1,本例中的刻度點個數為:(50-10)/5 +1=9。
實現代碼如下所示:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class SliderDemo(QWidget):def __init__(self, parent=None):super(SliderDemo, self).__init__(parent)self.setWindowTitle("QSlider 例子") self.resize(300, 100)layout = QVBoxLayout()self.l1 = QLabel("Hello PyQt5")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)# 水平方向self.sl = QSlider(Qt.Horizontal)#設置最小值self.sl.setMinimum(10)#設置最大值self.sl.setMaximum(50)# 步長self.sl.setSingleStep( 3 ) # 設置當前值self.sl.setValue(20)# 刻度位置,刻度在下方self.sl.setTickPosition(QSlider.TicksBelow)# 設置刻度間隔self.sl.setTickInterval(5)layout.addWidget(self.sl)# 連接信號槽self.sl.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self):print('current slider value=%s' % self.sl.value() )size = self.sl.value()self.l1.setFont(QFont("Arial",size))if __name__ == '__main__':app = QApplication(sys.argv)demo = SliderDemo()demo.show()sys.exit(app.exec_())
總結
以上是生活随笔為你收集整理的Python Qt GUI设计:QSlider滑动条类(基础篇—16)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python Qt GUI设计:QSpi
- 下一篇: Python Qt GUI设计:QPai