python Qt5实现窗体跟踪鼠标移动


Posted in Python onDecember 13, 2019

我就废话不多说了, 直接上代码吧!

from PyQt5.Qt import *
import sys
 
 
class Window(QWidget):
  def __init__(self):
    super().__init__()
    self.Flag=False
    self.setWindowTitle("窗口移动学习")
    self.resize(500,500)
    self.setup_ui()
 
  def setup_ui(self):
    pass
 
  def mousePressEvent(self, evt):
    #确定两个点(鼠标第一次按下的点)
    if evt.button()==Qt.LeftButton:#判断是否为左键执行
      self.Flag=True
      self.mouse_x=evt.globalX()
      self.mouse_y=evt.globalY()
 
      self.origin_x=self.x()
      self.origin_y=self.y()
 
  def mouseMoveEvent(self, evt):
    if self.Flag==True:
      move_x=evt.globalX()-self.mouse_x
      move_y=evt.globalY()-self.mouse_y
      dest_x=self.origin_x+move_x
      dest_y=self.origin_y+move_y
      self.move(dest_x,dest_y)
  def mouseReleaseEvent(self, QMouseEvent):
    self.Flag=False
 
if __name__=='__main__':
  import sys
  app=QApplication(sys.argv)\
 
  window=Window()
  window.show()
  window.setMouseTracking(True)#鼠标跟踪
  sys.exit(app.exec_())

以上这篇python Qt5实现窗体跟踪鼠标移动就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python的urllib库提交WEB表单
Feb 24 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
Python 实现两个服务器之间文件的上传方法
Feb 13 Python
python实现统计文本中单词出现的频率详解
May 20 Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 Python
Python实现Singleton模式的方式详解
Aug 08 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
python基础之文件处理知识总结
May 23 Python
Python中itertools库的四个函数介绍
Apr 06 Python
Python assert关键字原理及实例解析
Dec 13 #Python
使用pyqt 实现重复打开多个相同界面
Dec 13 #Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 #Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 #Python
python编写微信公众号首图思路详解
Dec 13 #Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 #Python
python中设置超时跳过,超时退出的方式
Dec 13 #Python
You might like
php 魔术方法详解
2014/11/11 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
Solaris操作系统的线程机制
2015/07/28 面试题
个人求职信范文分享
2014/01/31 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
教导处教学工作总结
2015/08/12 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android