pyqt5移动鼠标显示坐标的方法

如下所示:

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel)
from PyQt5.QtCore import Qt

class AppDemo(QMainWindow):

  def __init__(self):
    super(AppDemo, self).__init__()
    self.init_ui()

  def init_ui(self):
    self.resize(300, 200)
    self.setWindowTitle('666')
    self.label = QLabel(self)
    self.label.setAlignment(Qt.AlignCenter)
    self.label.setText('六神花露水')
    self.label.setGeometry(5, 5, 145, 185)
    self.label.setMouseTracking(True)

    self.label_mouse_x = QLabel(self)
    self.label_mouse_x.setGeometry(155, 5, 80, 30)
    self.label_mouse_x.setText('x')
    self.label_mouse_x.setMouseTracking(True)

    self.label_mouse_y = QLabel(self)
    self.label_mouse_y.setText('y')
    self.label_mouse_y.setGeometry(155, 40, 80, 30)
    self.label_mouse_y.setMouseTracking(True)

  def mouseMoveEvent(self, event):
    s = event.windowPos()
    self.setMouseTracking(True)
    self.label_mouse_x.setText('X:' + str(s.x()))
    self.label_mouse_y.setText('Y:' + str(s.y()))

def run_it():
  app = QApplication(sys.argv)
  w = AppDemo()
  w.show()
  sys.exit(app.exec_())

if __name__ == '__main__':
  run_it()

特别注意:

在继承QMainwindow的时候,如果你想在窗口中任意位置都获取坐标值的话,就得对每个控件都设置setMouseTracking(True),不然就会出现鼠标在空间上面的时候无法获取坐标值;如果你在重写mouseMoveEvent的时候不加setMouseTracking(True),那么你只有按住鼠标左键移动的时候才会获取值。所以,把想获取的地方都加上吧。

以上这篇pyqt5移动鼠标显示坐标的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PyQt5实现让QScrollArea支持鼠标拖动的操作方法

    如下所示: #!/usr/bin/evn python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import (QApplication, QWidget, QScrollArea, QLabel) from PyQt5.QtCore import QEvent class TestWindow(QWidget): def __init__(self): super(TestWindow, self).__init__()

  • python 读取鼠标点击坐标的实例

    读取鼠标点击坐标,包括点下去和抬起来的坐标,注意不要在命令行点,可能会出问题 import pythoncom, pyHook def onMouseEvent(event): print "Position:", event.Position return True def main(): hm = pyHook.HookManager() hm.HookKeyboard() hm.MouseAllButtonsDown = onMouseEvent hm.MouseAllButto

  • pyqt5移动鼠标显示坐标的方法

    如下所示: # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel) from PyQt5.QtCore import Qt class AppDemo(QMainWindow): def __init__(self): super(AppDemo, self).__init__() self.init_ui() def init_ui(self): sel

  • PyQt5 在label显示的图片中绘制矩形的方法

    在利用QT编写GUI程序时经常需要一些交互操作,常见的有鼠标事件.键盘事件等.今天我们要实现的是在label中已经显示的图像中绘制矩形框,以便进行下一步操作(如放大细节,选中感兴趣区域等)程序主要参考了知乎的小杨老师的专栏. 核心点是重写Label,使其实现相应的功能,看下面的一个小例子 from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QRect, Qt from PyQt5.Q

  • OpenLayers3实现鼠标移动显示坐标

    本文实例为大家分享了OpenLayers3实现鼠标移动显示坐标的具体代码,供大家参考,具体内容如下 1. 前言 鼠标移动显示坐标,OpenLayers 3 框架提供了鼠标移动显示坐标的控件(ol.control.MousePosition),默认显示在地图的右上角,其样式可以自定义.在这个例子中,我们通过前面的加载 OSM 加载瓦片图层,实现在地图容器的左下角显示坐标点的信息. 2. 实现思路 (1)新建一个网页,参考前面的加载 OSM 瓦片地图,实现加载瓦片地图. (2)在地图容器中新建一个

  • Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法

    本文实例讲述了Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法.分享给大家供大家参考.具体实现方法如下: const WM_MouseEnter = $B013; WM_MouseLeave = $B014; type TfrmMain = class(TForm) . . Timer1: TTimer; procedure Timer1Timer(Sender: TObject); protected procedure WMMouseEnter(var Msg: TMessage)

  • js使用onmousemove和onmouseout获取鼠标坐标的方法

    本文实例讲述了js使用onmousemove和onmouseout获取鼠标坐标的方法.分享给大家供大家参考.具体如下: 下面的js代码演示了onmousemove和onmouseout事件的用法,鼠标在指定区域内移动时会动态显示鼠标坐标信息 <!DOCTYPE html> <html> <head> <script> function myFunction(e) { x=e.clientX; y=e.clientY; coor="Coordinat

  • jquery实现鼠标滑过小图时显示大图的方法

    本文实例讲述了jquery实现鼠标滑过小图时显示大图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title></title> </head> <style type="text/css&

  • javascript获取当前鼠标坐标的方法

    本文实例讲述了javascript获取当前鼠标坐标的方法.分享给大家供大家参考.具体实现方法如下: 对于javascript获取当前鼠标坐标来说,得对不同浏览器的坐标位置有所了解.具体代码如下: 复制代码 代码如下: <html> <head> <title>javascript获取当前鼠标坐标</title> <meta http-equiv="content-type" content="text/html;chars

  • Bootstrap popover 实现鼠标移入移除显示隐藏功能方法

    该段js代码可实现 popover 下鼠标移入移除时显示.隐藏 popover 提示信息功能 var strContent = '<div class="media"><div class="position-left media-left"><img class="img-circle" src="/assets/images/avatar.jpg">'+ '</div>'+

  • python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法

    本文通过将同一个数据集在三种不同的简便项窗口部件中显示.三个窗口的数据得到实时的同步,数据和视图分离.当添加或删除数据行,三个不同的视图均保持同步.数据将保存在本地文件中,而非数据库.对于小型和临时性数据集来说,这些简便窗口部件非常有用,可以用在非单独数据集中-数据自身的显示,编辑和存储. 所使用的数据集: /home/yrd/eric_workspace/chap14/ships_conv/ships.py #!/usr/bin/env python3 import platform from

  • pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

    1:listWidget 以滚动窗口显示文件下的所有文件: self.listWidget = QtWidgets.QListWidget(self.gridLayoutWidget) self.listWidget.setMaximumSize(QtCore.QSize(16777215, 400)) self.listWidget.setObjectName("listWidget") 以上代码都是以qtDesigner画出来自动生成的 self.listWidget.setVer

随机推荐