最近在研究python下的QSlider使用方法,参考了不脱发的程序猿的介绍:
https://blog.csdn.net/m0_38106923/article/details/120897051
![](https://img-blog.csdnimg.cn/img_convert/f1410fb53575d7e409f5eeea29364135.png)
实现功能如上图所示。
import sys
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.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 Pyside6")
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.l2 = QLabel(str(self.sl.value()))#create and init lab value
#self.l2.setText(str(self.sl.value()))
self.l2.setAlignment(Qt.AlignCenter)
layout.addWidget(self.l2)
# 连接信号槽
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))
self.l2.setText(str(size))
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = SliderDemo()
demo.show()
sys.exit(app.exec())