• 5087阅读
  • 4回复

在当前坐标位置实时显示当前坐标 [复制链接]

上一主题 下一主题
离线soulfy
 

只看楼主 倒序阅读 楼主  发表于: 2013-08-28
如题,我画了一个直角坐标系,鼠标在坐标系中移动时,在当前位置实时显示坐标。
我现在的想法是用下拉菜单的形式显示,在MouseMoveEvent()中获取了到当前坐标并显示Qmenu
  1. void CCoordinate::mouseMoveEvent(QMouseEvent *me)
  2. {
  3.     //qDebug()<<tr("x=%1,y=%2").arg(me->pos().x()-width()/2).arg(me->pos().y()-height()/2);
  4.     this->update();
  5.     QMenu menu(this);
  6.     menu.addAction(tr("x=%1,y=%2").arg(me->pos().x()-width()/2).arg(me->pos().y()-height()/2));
  7.     menu.exec(QCursor::pos());
  8. }
如上方法,不能实时显示,只有单击时才会更新。


熟手来指教啊,坐等。
离线dbzhang800

只看该作者 1楼 发表于: 2013-08-28
1. 你想要的是 QWidget的 mouseTracking 属性?
2. 用QMenu来显示这个似乎不是好主意
离线soulfy

只看该作者 2楼 发表于: 2013-08-28
回 1楼(dbzhang800) 的帖子
mouseTracking属性只是设置是否捕获鼠标移动事件,与怎么显示无关吧,
我在构造函数中是用来 setMouseTracking(true)
鼠标移动事件确实能够接收到, 我现在就是想实现在鼠标位置显示坐标,不用QMenu,还有什么可以用的类么?
离线jdwx

只看该作者 3楼 发表于: 2013-08-28
回 2楼(soulfy) 的帖子
用QToolTip,很方便的,就一个静态函数。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线soulfy

只看该作者 4楼 发表于: 2013-08-29
Re:回 2楼(soulfy) 的帖子
引用第3楼jdwx于2013-08-28 15:28发表的 回 2楼(soulfy) 的帖子 :
用QToolTip,很方便的,就一个静态函数。

确实好使! 多谢指教!
快速回复
限100 字节
 
上一个 下一个