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

yipeiwu_com6年前Python基础

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

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设计】。

相关文章

Django重置migrations文件的方法步骤

Django开发过程中如果数据库变动过多导致migrations的文件越来越多,管理起来很不方便, 幸运的是Django提供了一种方式可以是这些文件重置到0001状态,而且不删除原有数据...

Python字符串格式化输出方法分析

本文实例分析了Python字符串格式化输出方法。分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = 'python' astr = 'i...

pyqt5 键盘监听按下enter 就登陆的实例

记得导入包,其他按键可类比 def keyPressEvent(self, event): if event.key() == QtCore.Qt.Key_Enter:...

Python3.5 + sklearn利用SVM自动识别字母验证码方法示例

Python3.5 + sklearn利用SVM自动识别字母验证码方法示例

前言 最近正在研究人工智能,为了加深对算法的理解,决定写个自动设别验证码的程序。看了看网上的demo,大部分都是python2的写法,而且验证码的识别都是用的数字做例子,那我就写个基于p...

Python中.join()和os.path.join()两个函数的用法详解

Python中有.join()和os.path.join()两个函数,具体作用如下:    . join():    连接字符串数组。将...