PyQt实现QSlider滑块鼠标点击事件

本文介绍了如何在PyQt5中实现QSlider滑动条的鼠标点击定位功能,通过重写QSlider的mousePressEvent事件,使得滑块能够根据鼠标点击位置精确移动。在QtDesigner设计UI界面,将.ui文件转换为.py文件,然后创建自定义的MySlider类,继承QSlider并添加信号处理点击事件。最后在主窗口类中连接信号和槽,实现滑动条的点击定位功能。

在PyQt添加SQlider滑动条后,发现鼠标点击时滑块只能按照设定步数一步步移动,不能点哪里滑块到哪里。网上查找资料后发现这方面相关参考资料比较少,且大多数文章表述对我个人来说比较难理解,最后综合参考几篇较好的文章后才实现功能,在这里记录一下具体实现方法。

目录
一. 设计UI界面
二. 将.ui文件转为.py文件
三. 重写QSlider的鼠标点击事件
四. 添加窗口运行查看效果
**

一. 设计UI界面

为了方便直观设计界面,UI设计在Qt Designer中完成。
首先,在Qt Designer中创建一个Widget窗体,如下图。在这里插入图片描述

然后,将界面左侧水平滑动条直接拖到窗体中,添加两个,名称分别为horizontalSlider和horizontalSlider_2,点击保存。在这里插入图片描述

二. 将.ui文件转为.py文件

在PyCharm中,通过PyUic工具将刚刚保存的slider_test.ui文件转化为.py文件,具体过程请参考相关教程。
转化成功后会有一个slider_test.py文件。
在这里插入图片描述

三. 重写QSlider的鼠标点击事件

双击打开slider_test.py文件(也可不在Qt Designer中设计,直接创建.py文件复制程序)。

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(487, 402)
        self.horizontalSlider = QtWidgets.QSlider(Form)
        self.horizontalSlider.setGeometry(QtCore.QRect(60, 140, 361, 31))
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.horizontalSlider_2 = QtWidgets.QSlider(Form)
        self.horizontalSlider_2.setGeometry
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值