cfnr.net
当前位置:首页 >> Qt跟踪鼠标 显示鼠标位置 >>

Qt跟踪鼠标 显示鼠标位置

关键是这一句setMouseTracking(true);加在构造函数里面,根据qt的帮助文档,mousemoveEvent事件如果mouserTrack为false,那么只有鼠标按下才会执行,而且默认是false,所以需要把窗口事件设置一下然后就简单了protected: void

用静态成员函数:QCursor::pos();返回的是鼠标在屏幕中的坐标位置.

这个是用什么语言来实现,不同的语言实现的思路差不多,就是用定位识别函数来识别 x,y而已,这个要是java的话要好好看看帮助文档了;你去csdn 或 51cto 求助效率高点;

你可以重新实现鼠标移动事件,然后获取鼠标坐标,再画图

do_cursorChanged该函数在头文件那边应该放在public/protected/private slots标签下: 如: public slots: void do_cursorChanged();

全部重新改了,代码如下// mainwindow.h 头文件#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *parent = 0); ~MainWindow();

因为鼠标移动label上的时候默认是由label截获鼠标消息的,你可以写个事件过滤器来获取鼠标位置;而且你获取鼠标的函数是放在哪一个类里面的

使用QCursor::pos()方法,QCursor的这个静态方法允许你在任意时刻获取光标所在的位置.

重写moveEvent虚函数

你要改变鼠标样式,调用QWidget的setCursor()函数就可以了啊,鼠标进入界面的时候就会变成你设置的样式了.你要触发事件,鼠标进入界面的时候,enterEvent()及mouseMoveEvent()都会被触发啊?你重新实现这两个虚函数就可以执行自定义操作了.

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com