PyQT5之滑块控件QSlider
1.PyQT5图像2.PyQT5水平垂直布局3.PyQT5之图片左右翻页4.PyQT5之QPushButton和布局5.PyQT5之label6.PyQT5之选择图片7.PyQT5之自定义信号8.PyQT5之窗口9.PyQT5之菜单栏和工具栏10.PyQT5之QComboBox11.PyQT5之Checkbox12.PyQT5之QRadioButton13.PyQT5之单行文本输入到多行显示窗14.PyQT5之网格布局多图片显示15.PyQtGraph绘制折线图16.PyQT5之PyQtGraph实时数据显示17.PyQT5之窗口最大化最小化18.PyQT5之QSS基础/子控件选择器19.PyQT5样式设置20.PyQT5绘图21.PyQT5窗口样式设置22.PyQT5之设置窗口控件风格23.PyQT5之多窗口交互24.PyQT5之override覆盖槽函数25.PyQT5之为槽函数传递参数26.PyQT5信号与槽的连接27.PyQT5信号刷新时间28.PyQT5之信号关闭窗口29.信号与槽N对N30.PyQT5之多个信号31.PyQT5之QTreeView32.PyQT5内嵌html33.PyQT5加载本地web页面34.PyQT5之QWebEngineView35.PyQT5之QThread36.PyQT5之QTimer37.PyQT5之QStackedWidget38.PyQT5之QTreeWidget-QTabWidget39.PyQT5之QTableWidget40.PyQT5之QListWidget41.PyQT5之QListView42.PyQT5之二维表QTableView43.PyQT5打印机44.PyQT5之QPainter45.PyQT5之QFontDialog46.PyQT5之QInputDialog47.PyQT5之QMessageBox48.PyQT5之QDialog49.PyQT5之多页面切换50.PyQT5之计数器控件QSpinBox
51.PyQT5之滑块控件QSlider
52.PyQtGraph绘图参考53.PyQtGraph之多图绘制54.PyQtGraph之柱状图55.PyQt5选择文件控件QFileDialog
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QSliderDemo(QWidget):
def __init__(self):
super(QSliderDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('滑块控件演示') # 创建窗口标题
self.resize(800, 600) # 设置主窗口大小
layout = QVBoxLayout() # 垂直布局
# todo Lable 创建根据水平位置的滑块数值大小而改变的显示标签(字符)
self.label = QLabel('水平滑块—字体大小') # 要显示的内容
self.label.setAlignment(Qt.AlignCenter) # 居中显示
# todo Lable1 创建根据垂直位置的滑块数值大小而改变的显示标签(字符)
self.label1 = QLabel('垂直滑块—字体大小') # 要显示的内容
self.label1.setAlignment(Qt.AlignCenter) # 居中显示
# todo Lable2 创建根据水平位置的滑块数值大小而改变的显示标签(字符)
self.label2 = QLabel('水平滑块—字体位移') # 要显示的内容
self.label2.setFont(QFont('Arial', 20)) # 设置字体大小(静态)
# todo Lable3 创建根据垂直位置的滑块数值大小而改变的显示标签(字符)
self.label3 = QLabel('垂直滑块—字体位移') # 要显示的内容
self.label1.setFont(QFont('Arial', 20)) # 设置字体大小(静态)
# todo 将label,label1,label2,label3画出
layout.addWidget(self.label)
layout.addWidget(self.label1)
layout.addWidget(self.label2)
layout.addWidget(self.label3)
# todo 创建一个水平的滑块
""" * * * * 水 * * 平 * * * 滑 * * * * 块 * * * * """
self.slider = QSlider(Qt.Horizontal) # 水平(左右拖动)
# 设置最小值
self.slider.setMinimum(10)
# 设置最大值
self.slider.setMaximum(50)
# 步长
self.slider.setSingleStep(5)
# 设置当前值
self.slider.setValue(10)
# 设置刻度的位置,刻度在下边
self.slider.setTickPosition(QSlider.TicksBelow)
# 设置刻度得间隔
self.slider.setTickInterval(1)
layout.addWidget(self.slider) # 画出控件(滑块控件)
self.slider.valueChanged.connect(self.valueChange) # 绑定信号槽
# todo 创建一个垂直的滑块
""" * * * * 垂 * * 直 * * * 滑 * * * * 块 * * * * """
self.slider1 = QSlider(Qt.Vertical) # 垂直滑块
# 设置最小值
self.slider1.setMinimum(5)
# 设置最大值
self.slider1.setMaximum(30)
# 步长
self.slider1.setSingleStep(5)
# 设置当前值
self.slider1.setValue(5)
# 设置刻度的位置,刻度在左边
self.slider1.setTickPosition(QSlider.TicksLeft)
# 设置刻度间隔
self.slider1.setTickInterval(5)
layout.addWidget(self.slider1) # 画出控件(滑块控件)
self.slider1.valueChanged.connect(self.valueChange) # 绑定信号槽
self.setLayout(layout) # 在主窗口中显示出上述控件
def valueChange(self):
print('——————水平滑块当前值为——————: %s' % self.slider.value())
print('++++++垂直滑块当前值为++++++: %s' % self.slider1.value())
size = self.slider.value() # 水平滑块位置的值
size1 = self.slider1.value() # 垂直滑块位置的值
# todo 看lable,lable1根据滑块值对字号改变
self.label.setFont(QFont('Arial', size)) # 设置字体大小
self.label1.setFont(QFont('Arial', size1)) # 设置字体大小
# todo 注释掉上面两行代码,并使用下面两行代码可以看到Lable2,Lable3位置变化
# self.label2.move(size*30, size1*30)
# self.label3.move(size1 * 30, size * 30)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QSliderDemo()
main.show()
sys.exit(app.exec_())
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析