在Qt Creator新建的工程中获取指针坐标

在Qt中文论坛看到一篇帖子,教大家怎么在窗体中获取指针的坐标。下面是他的源码(原页面找不到了,不过还是谢谢这位坛友):

自己也想学下这个,于是就自己新建了一个Qt Gui工程。结果怎么试都不成功。

他在MainWindow(QWidget *parent)函数中写了这么一句是关键:this->setMouseTracking(true);这句告诉程序自动获取鼠标轨迹。但是我在MainWindow(QWidget *parent)里也写了这句,但就是没用。每次都得点击,程序才会返回坐标。并不是自动获取的。

经过摸索,我发现是Qt Creator新建的工程中包含了QMainWindow、centralWidget、mainToolBar等。所以在MainWindow(QWidget *parent)中直接用“this->setMouseTracking(true);”是不行的。

最简单的方法:我们可以直接在QtDesigner中修改QMainWindow的MouseTracking参数为true。接着修改centralWidget的MouseTracking参数为true。这样当我们将鼠标在centralWidget中晃动的时候,程序就会自动返回指针的坐标了。如果想在其他widget,如mainToolBar,中获取鼠标的坐标,只需将其的MouseTracking参数设为true,即可。

此处注意:QMainWindow的MouseTracking参数一定要为true,否则窗体内的其他MouseTracking参数就没用了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值