[PyQt6] PartⅡ. QSlider
QSlider
滑条
关键代码
self.slider.setOrientation(Qt.Orientation.Horizontal) # 设置方向为水平方向
self.slider.setTickPosition(QSlider.TickPosition.TicksBelow) # 设置刻度出现的slider下面
self.slider.setTickInterval(5) # 设置刻度的单位长度
self.slider.setMinimum(0) # 最小值
self.slider.setMaximum(100) # 最大值
self.slider.valueChanged.connect(self.changed_slider) # 当数值改变时,传递一个signal,给slot,changed_slider
完整代码
from PyQt6.QtWidgets import QApplication, QWidget, QSlider, QLabel, QHBoxLayout, QVBoxLayout
from PyQt6.QtGui import QIcon, QFont
from PyQt6.QtCore import Qt
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 700, 400) # 设置窗口大小
self.setWindowTitle("Python QSlider")
self.setWindowIcon(QIcon('python.png')) # 设置图片,没有的话不显示
hbox = QHBoxLayout()
self.slider = QSlider()
self.slider.setOrientation(Qt.Orientation.Horizontal) # 设置方向为水平方向
self.slider.setTickPosition(QSlider.TickPosition.TicksBelow) # 设置刻度出现的slider下面
self.slider.setTickInterval(5) # 设置刻度的单位长度
self.slider.setMinimum(0) # 最小值
self.slider.setMaximum(100) # 最大值
self.slider.valueChanged.connect(self.changed_slider) # 当数值改变时,传递一个signal,给slot,changed_slider
self.label = QLabel()
self.label.setFont(QFont("Times", 15))
hbox.addWidget(self.slider)
hbox.addWidget(self.label)
self.setLayout(hbox)
def changed_slider(self):
value = self.slider.value()
self.label.setText(str(value))
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec())