码迷,mamicode.com
首页 > 其他好文 > 详细

滑动条QSlider

时间:2019-02-11 01:04:59      阅读:784      评论:0      收藏:0      [点我收藏+]

标签:一个   拖动   elf   exit   res   nbsp   gui   最小   hbox   

QSlider只提供整数范围

滑块接受Tab键的焦点,并同时提供了一个鼠标滚轮和键盘接口。键盘接口如下:

Left/Right 移动水平滑块一个步长。
Up/Down 移动垂直滑块一个步长。
PageUp 上移一页。
PageDown 下移一页。
Home 移动至起始位置(最小值)。
End 移动至结束位置(最大值)

 1 import sys
 2 from PyQt5.QtCore import Qt
 3 from PyQt5.QtGui import QFont
 4 from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QLabel, QVBoxLayout, QHBoxLayout
 5 
 6 
 7 class Demo(QWidget):
 8     def __init__(self):
 9         super(Demo, self).__init__()
10         self.slider_1 = QSlider(Qt.Horizontal, self)  # 实例化滚动条
11         #Qt.Hrizontal  水平的滑动条
12         #Qt.Vertical  垂直的滑动条
13         self.slider_1.setRange(0, 100)  #设置范围
14         self.slider_1.valueChanged.connect(lambda: self.on_change_func(self.slider_1))
15         #当滚动条的值发生变化时发出信号
16         self.slider_2 = QSlider(Qt.Vertical, self)
17         self.slider_2.setMinimum(0)  # 设置最小值
18         self.slider_2.setMaximum(100)  # 设置最大值
19         self.slider_2.valueChanged.connect(lambda: self.on_change_func(self.slider_2))
20         self.label = QLabel(0, self)
21         self.label.setFont(QFont(Arial Black, 20))
22         self.h_layout = QHBoxLayout()
23         self.v_layout = QVBoxLayout()
24         self.h_layout.addWidget(self.slider_2)
25         self.h_layout.addStretch(1)
26         self.h_layout.addWidget(self.label)
27         self.h_layout.addStretch(1)
28         self.v_layout.addWidget(self.slider_1)
29         self.v_layout.addLayout(self.h_layout)
30         self.setLayout(self.v_layout)
31         self.slider_1.sliderPressed.connect(self.f)  #按下滑块时发射此信号
32         self.slider_1.sliderMoved.connect(self.f1) #拖动滑块时发出信号
33         self.slider_1.sliderReleased.connect(self.f2)  #释放滑块时发射此信号
34 
35     def f2(self):
36         print(释放滑块)
37 
38     def f1(self):
39         print(拖动了滑块)
40 
41     def f(self):
42         print(按下了滑块)
43 
44 
45     def on_change_func(self, slider):
46         if slider == self.slider_1:
47             self.slider_2.setValue(self.slider_1.value())
48             #setValue   设置滚动条的值
49             #self.slider_1.value()   返回滚动条的值
50             self.label.setText(str(self.slider_1.value()))
51         else:
52             self.slider_1.setValue(self.slider_2.value())
53             self.label.setText(str(self.slider_2.value()))
54 
55 
56 if __name__ == __main__:
57     app = QApplication(sys.argv)
58     demo = Demo()
59     demo.show()
60     sys.exit(app.exec_())

 

滑动条QSlider

标签:一个   拖动   elf   exit   res   nbsp   gui   最小   hbox   

原文地址:https://www.cnblogs.com/liming19680104/p/10360570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!