Qt中如何获取鼠标在可编辑控件(如lineEdit)上的坐标

windbird123 2012-05-02 07:00:29
Qt中,如何在可编辑的控件上,不点击任何按键,且获取鼠标坐标?(比如,在一个tableWidget或lineEdit里)

有一个 QWidget A,一个 QTableWidget B。B在A里,在B的范围外,用getX()什么的可以获取鼠标坐标。但是,只有当鼠标有按键按下时,再把鼠标移动到B里才能获取鼠标当前坐标。

有没有什么方法可以不用按任何键,只用将鼠标移动到 B 里就能获取当前的坐标?
...全文
1112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxd9955 2013-06-08
  • 打赏
  • 举报
回复
楼主 我也遇到同样的问题 能不能把你的贴出来 让我看看
windbird123 2012-10-10
  • 打赏
  • 举报
回复
呵呵 都过去这么久了。现在也记不得具体是怎么回事儿了。反正就用了绝对布局 调大小自己按比例算位置。呵呵 反正是弄完了 谢谢回帖啊。
BoykaGao 2012-08-10
  • 打赏
  • 举报
回复
兄弟,你说的那个是状态栏吧,如果是的话,我可以把具体的代码发给你,状态栏是指在一个widget里面,只要鼠标放上去就会显示这时鼠标的坐标,我其实还有一个问题要问,怎样点击widget上的两个点,然后计算这两个点之间的距离?
再搬一次砖 2012-08-10
  • 打赏
  • 举报
回复
QPoint QCursor::pos(),用这个不就能获取鼠标位置了,另外如果要将该坐标转化为基于某个父窗口内的话可以使用,QPoint QWidget::mapTo ( QWidget * parent, const QPoint & pos ) const
windbird123 2012-05-03
  • 打赏
  • 举报
回复
注:我将控件放都在一个水平布局中。
我感觉是这个水平布局的事儿,我将水平布局去掉,用setAttribute()之后就行了,可以加上水平布局,就又不行了。

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧