代码-qt中鼠标点击view获取点并将坐标转换为scene坐标之后在坐标处绘制item,位置发生偏移

问题描述

qt中鼠标点击view获取点并将坐标转换为scene坐标之后在坐标处绘制item,位置发生偏移

如题,我的组件是用QGraphicsItem绘制的,重载了QMouseEvent,但是点击时在view上显示的地方不对,主要代码如下:
QPoint viewPos = event->pos();//获取视口坐标
QPointF scenePos = view_1->mapToScene(viewPos);//将视口坐标转换为场景坐标
select->setRect(scenePos.x(), scenePos.y(), 50, 50);//绘制圆圈
如图,鼠标点击位置与圆圈位置的偏移(当前我点击的是6那个点):

哪位大侠帮帮小弟一下,感激不尽!

解决方案

已解决,是因为多层layout布局的原因,layout布局会有个margin,默认为11px。
希望对其他人有用。

解决方案二:

是我的问题太抽象了么?怎么没人回答啊,新手求救~~~

解决方案三:

是我的问题太抽象了么?怎么没人回答啊,新手求救~~~

时间: 2024-12-04 01:08:23

代码-qt中鼠标点击view获取点并将坐标转换为scene坐标之后在坐标处绘制item,位置发生偏移的相关文章

使用JS或jQuery模拟鼠标点击a标签事件代码

 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 代码如下: <a id="alink" href="abc.aspx" style="visibility: hidden;">下一步</a>  $("#alink").click(); // 触发了a标签的点击事件,但是没有触发页面跳转  document.getElementById("alink&

input 提示框文字,鼠标点击,文字消失,鼠标点外面,文字出现

input 提示框文字,鼠标点击,文字消失,鼠标点外面,文字出现 像有些搜索框中会显示"在这里输入要搜索的东西",鼠标点击那个搜索框后,那些字就没有了, 鼠标点击页面其它地方后,搜索框里的文字又出现. <input  value="请输入关键字" onfocus="if (value =='请输入关键字'){value =''}" onblur="if (value ==''){value='请输入关键字'}"  /&g

如何实现鼠标点击picturebox控件,实现有翻转或其它的打开picturebox效果显示

问题描述 如何实现鼠标点击picturebox控件,实现有翻转或其它的打开picturebox效果显示 在C# Winfrom项目中,from窗体中,有一个Panel控件.在Panel控件内放置了一个picturebox控件. 请问如何实现鼠标点击picturebox_click事件后,让picturebox控件有翻转或其它比较好的打开动作效果显示. 希望能提供点DEMO或相关资料参考下,再看看哪种比较好.... 解决方案 要实现切换图片,如果图片数量不多,你可以用计数器进行控制,点击一次,就将

开发的android 应用安装视上,电视连接鼠标,鼠标点击app,不起作用,如何处理。

问题描述 开发的android 应用安装视上,电视连接鼠标,鼠标点击app,不起作用,如何处理. 开发的android 应用安装视上,电视连接鼠标,鼠标点击app,不起作用,如何处理. 解决方案 android tv?有没有成功安装 android app?另外不起作用,是否程序出错了,造成闪退?我在创维智能电视机上面安装过android app,用鼠标操作没有问题,还可以使用飞梭操作,也一样可以使用. 解决方案二: 电视上面用遥控器就可以操作吧 解决方案三: 在应用列表中点击app,想启动这个

代码-Qt中使用WinThread通常如何实现线程间通信如传递QByteArray

问题描述 Qt中使用WinThread通常如何实现线程间通信如传递QByteArray 因为多线程要写在一个类里,并且考虑效率.需要使用WinThread.初学Qt,恳请各位前辈赐教.最好有代码,万分感谢! 解决方案 PostThreadMessage在线程之间发送数据

使用JS或jQuery模拟鼠标点击a标签事件代码_jquery

复制代码 代码如下: <a id="alink" href="abc.aspx" style="visibility: hidden;">下一步</a> $("#alink").click(); // 触发了a标签的点击事件,但是没有触发页面跳转 document.getElementById("alink").click(); //既触发了a标签的点击事件,又触发了页面跳转 把 &

鼠标点击button事件问题

问题描述 求鼠标左键点击button消失,然后右键又可以显示出来的代码. 解决方案 本帖最后由 liuuilliuuil123 于 2016-01-10 21:56:03 编辑解决方案二:在按钮的click事件中使用button1.Visible=false;来隐藏,因为按钮已经隐藏,你可能需要在窗体的右键事件中调用button1.Visible=true;来显示按钮.解决方案三:引用1楼save4me的回复: 在按钮的click事件中使用button1.Visible=false;来隐藏,因为

模拟鼠标点击

  <body> <script language="JScript">    onload=function(){  var evt=Evt(205,205,'onclick');    } ///////////////////////////////////////////////////////////    function Evt(x,y,type){    var evt = document.createEventObject();     ev

代码操作键盘-如何用c++代码实现跟鼠标点击一样的操作,或者键盘

问题描述 如何用c++代码实现跟鼠标点击一样的操作,或者键盘 c++如何用代码实现键盘按键命令,还有鼠标点击,比如用代码打开我的电脑属性 解决方案 google mouse_event keybd_event 这两个api函数 解决方案二: http://blog.csdn.net/tianxw1209/article/details/6234386http://blog.csdn.net/yizhou2010/article/details/6178115