• Qt QGraphicsView中的mapToScence使用方法


    mapToScence

    这段时间在学习PyQt,因为要使用QGraphView中的mapToScene的方法,本人百度+谷歌了一下午没有找到合适的解释说明。
    先说一下要完成的任务,在一个granphics中通过双击鼠标的方式生成一个节点,但是刚开始只实现了在固定地点生成节点,这明显很鸡肋没有啥实用价值
    想实现在鼠标双击的地方生成一个节点,这个坐标系的真的把我给搞晕了,讲一下我的思路吧

    • 要知道正常的坐标系都是从屏幕左上角开始的,即左上角为(0,0),但是对于graphicsview来说,坐标系则是从中间开始的,向下为y正方向,向右为x正方向
    • 从设置的mouseDoubleClickEvent中获得event.pos()的位置只是相对于这个widget来说,即坐标中心在左上角,但是怎么转到对应的graphicsview就有意思了
    • 首先调用mapFromParent函数对上面的Qpoint进行处理,然后再通过mapToScene函数获得你在graphicsview中的位置
    • mapToScene主要解决了怎么从父widget中得到相应的坐标,然后通过mapToScene函数进行转换,即可得到相应的坐标
    • 简单来说这个函数就是为了将之前(父widget)的坐标转换到目前的坐标系中去
    point = self.mapToScene(self.mapFromParent(QMouseEvent.pos()))
  • 相关阅读:
    UIWebView 设置字体样式和行间距
    UIAlertView问题
    仿jquery的函数
    css 不换行,换行
    兼容火狐插入背景音乐
    防止屏蔽window.onload函数
    mysql
    解决手机浏览器上input 输入框导致页面放大的问题
    vue 中监听页面滚动
    WCF处理异常的方式
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13776467.html
Copyright © 2020-2023  润新知