📜  PyQt5 QSlider | Python

📅  最后修改于: 2022-05-13 01:55:03.054000             🧑  作者: Mango

PyQt5 QSlider | Python

PyQt5 中的滑块用于借助可以在图形幻灯片或条形图上来回移动的指示器来设置值。很多时候,需要提供介于范围之间的值,在这种情况下,滑块非常有用。 QSlider是用于在应用程序中添加滑块的类。

例子:

一个窗口有一个滑块和一个标签(QSlider)。移动滑块的指示器时,文本的大小会按比例放大或缩小。

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
  
class Ui_MainWindow(object):
  
    def setupUi(self, MainWindow):
  
        MainWindow.resize(550, 393)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
  
        self.slider = QtWidgets.QSlider(self.centralwidget)
        self.slider.setGeometry(QtCore.QRect(190, 100, 160, 16))
        self.slider.setOrientation(QtCore.Qt.Horizontal)
  
        # After each value change, slot "scaletext" will get invoked.
        self.slider.valueChanged.connect(self.scaletext)
  
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(230, 150, 301, 161))
          
        # set initial font size of label.
        self.font = QtGui.QFont()
        self.font.setPointSize(7)
        self.label.setFont(self.font)
        MainWindow.setCentralWidget(self.centralwidget)
  
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
  
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "QSlider"))
          
    def scaletext(self, value):
        # Change font size of label. Size value could 
        # be anything consistent with the dimension of label.
        self.font.setPointSize(7 + value//2)
        self.label.setFont(self.font)
      
      
if __name__ == "__main__": 
    app = QtWidgets.QApplication(sys.argv) 
    
    MainWindow = QtWidgets.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 

输出: