在文  QT界面操作1:如何跟踪鼠标位置?实现了鼠标位置捕获,这里用两种方式显示鼠标坐标

1)状态栏显示

2)窗口刷新显示

先看如何获取鼠标位置的代码。

import sys
from PyQt5.QtCore import (QEvent, QTimer, Qt)
from PyQt5.QtWidgets import (QApplication, QMenu, QWidget)
from PyQt5.QtGui import QPainterclass Widget(QWidget):def __init__(self, parent=None):super(Widget, self).__init__(parent)self.resize(1200, 800)self.move(100, 100)#设置标题self.setWindowTitle("Events")self.setMouseTracking(True)def mouseMoveEvent(self, event):#如果没有鼠标双击,执行globalPos = self.mapToGlobal(event.pos())x = globalPos.x()y = globalPos.y()print(x,y)if __name__ == "__main__":app = QApplication(sys.argv)form = Widget()form.show()app.exec_()

二、用状态栏显示鼠标信息

以上代码跟踪鼠标位置,需要少量修改。

这里先看如何将坐标显示在状态栏,将QWidget换成QMainFrame,因为:

  • 只有QMainFrame才有状态栏。
  • 必须启动状态栏self.statusBar()
import sys
from PyQt5.QtCore import (QEvent, QTimer, Qt)
from PyQt5.QtWidgets import (QApplication, QMenu,QMainWindow)
from PyQt5.QtGui import QPainterclass Widget( QMainWindow ):def __init__(self, parent=None):super(Widget, self).__init__(parent)self.resize(1200, 800)self.move(100, 100)#设置标题self.setWindowTitle("Events")
    self.setMouseTracking(True)self.statusBar()  def mouseMoveEvent(self, event):#如果没有鼠标双击,执行globalPos = self.mapToGlobal(event.pos())x = globalPos.x()y = globalPos.y()strNum = '鼠标位置{0:3d},{1:3d} '.format(x, y)print( strNum)self.statusBar().showMessage( strNum )if __name__ == "__main__":app = QApplication(sys.argv)form = Widget()form.show()app.exec_()

QT5界面操作2:如何用状态栏显示鼠标坐标相关推荐

  1. MFC实时显示鼠标坐标

    实时显示鼠标坐标 方法一:在窗口的客户区实时显示鼠标坐标 以左上角为例,直接在鼠标移动消息的响应函数中添加以下代码. void CMFC_DrawView::OnMouseMove(UINT nFla ...

  2. QT5界面操作3: QPainter和paintEvent(self, event)的配合

    一  说明 本篇继续以显示鼠标位置做例:用窗口的paintEvent事件进行显示.本例示范如何用painter.update.paintEvent几个方面的配套. 注意: QPainter几乎只能在窗 ...

  3. QGIS二次开发:鼠标在地图上移动时,状态栏显示鼠标所在位置经纬度

    主要思路: 当鼠标在地图画布控件上移动时,会发送xyCoordinates信号,该信号参数是墨卡托坐标系表示的地图上的点坐标,然后将墨卡托坐标转为经纬度表示的WSG84坐标,绑定该信号到槽函数,然后发 ...

  4. Win32 API 显示鼠标坐标位置

    在窗口过程添加如下代码:如果还不会新建Win32项目,参阅Petzold的书: case WM_RBUTTONDOWN :hdc=GetDC(hwnd);x = GET_X_LPARAM(lParam ...

  5. ROS Qt5 librviz人机交互界面开发四(添加rviz显示界面)

    本系列教程文章专栏: ROS机器人GUI程序开发 本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅: ROS Qt开发环境搭建以及基础知识介绍 ROS人机交互软件的界面开发 ROS Rviz组件开发方 ...

  6. Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间

    c/c++ vc 在mfc状态栏显示时间,在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间.其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式.举 ...

  7. Android动态控制状态栏显示和隐藏

    记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解. 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发 ...

  8. 3D MAX界面操作教程及渲染技巧

    3dmax软件是一款电脑设计辅助软件,广泛应用于建筑设计.室内设计.影视动画.广告设计.游戏设计等等,是三维设计师们不可或缺的一款软件. 这里小编为大家介绍该软件的工作界面,让广大初学者和爱好者有更加 ...

  9. 【MacOS】Hammerspoon-sugood多合一效率工具,新增状态栏显示系统信息(CPU/内存/硬盘/网速)-v0.1.7

    运行环境要求 已测试可用的系统:MacOS 10.14 及以上 脚本功能说明 Github(国外地址) Gitee(国内地址) 已完成如下功能 状态栏显示输入法状态 时间同步功能 屏幕取色功能 JSO ...

最新文章

  1. LaTeX 公式输入软件 KLatexFormula
  2. redis 入门教程
  3. win7 telnet命令无法使用
  4. Ping命令检测网站运行状态
  5. afreecatv 回放下载_行车记录仪怎么看回放?行车记录仪停车后能自动录像吗
  6. 谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多
  7. 华为mysql金融版_华为云数据库MySQL金融版公测,打造满足金融场景数据安全性的高端产品...
  8. Linux 用户线程数与文件句柄树调整(nproc与nofile的问题)
  9. 访问itunes store的时候提示网络连接超时的解决方案
  10. 2021应届生DJI校招在线测评几点说明
  11. 2021年,shopee虾皮一件代发模式的优势和背后风险是什么?
  12. JAVA征兵管理系统
  13. 用 Python 轻松将懂车帝视频转换为文本
  14. excel中统计每一行中指定字体颜色和填充颜色的单元格求和(不使用VBA)
  15. SingleTask和SingleInstance详解
  16. Linux系统——程序员跳槽必备
  17. Redis-master节点宕机后的处理方式
  18. 魔兽世界私服 服务器系统要求,全球最大《魔兽世界》私服有望重启 暴雪亲自运营...
  19. canvas制作旋转的太极图
  20. 面试:HTTP Host 头攻击,是什么?

热门文章

  1. c语言 二级菜单_收下计算机二级秘笈,考场上说好不哭!
  2. 更新pip到指定版本
  3. Java第一个程序Helloworld
  4. 使用Skywalking实现全链路监
  5. Nashorn——在JDK 8中融合Java与JavaScript之力--转
  6. Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转
  7. 关于 java.util.concurrent 您不知道的 5 件事--转
  8. spring-data-redis工程
  9. 元宇宙iwemeta: 重庆打造“数据之都”,拟成立重庆数据交易所
  10. RuoYi-Vue————权限管理