自助建站最大宁波网络推广专员

bicheng/2026/1/24 16:53:57/文章来源:
自助建站最大,宁波网络推广专员,万户网络官网,钓鱼网站源码前提 在开发一个类似qdesiger的项目中 使用QGraphicsProxyWidget将Qt基础控件作为item放在场景视图中显示和编辑 创建自定义类继承QGraphicsProxyWidget#xff0c;管理控件 成员变量 有控件的xywh等#xff0c;其中x、y坐标存储是基于最底层widgetitem的 坐标系 x轴以右为正…前提 在开发一个类似qdesiger的项目中 使用QGraphicsProxyWidget将Qt基础控件作为item放在场景视图中显示和编辑 创建自定义类继承QGraphicsProxyWidget管理控件 成员变量 有控件的xywh等其中x、y坐标存储是基于最底层widgetitem的 坐标系 x轴以右为正方向y轴以下为正方向 首先鼠标悬浮在控件八个方位范围内时显示对应的鼠标指针样式 1.mousePress事件存储初始鼠标坐标 void ProxyClass::mousePressEvent(QGraphicsSceneMouseEvent *event)QPointF pos event-pos();//Returns the mouse cursor position in item coordinates. _pressPos pos;2.mouseMove事件 void ProxyClass::mouseMoveEvent(QGraphicsSceneMouseEvent *event)检测到当前状态时调整尺寸而不是移动控件时获取移动实时的鼠标坐标然后与初始鼠标坐标相减得出鼠标总的移动的坐标范围值 QPointF currentPos event-pos();QPointF movePoint currentPos - _pressPos;//移动区域 h↓ y↑其实鼠标拖拽右、下边框比较简单只涉及到修改控件尺寸但是关于左、上边框不仅涉及到修改控件尺寸还涉及到控件坐标值的修改需要注意一下。 右下例 case E_Right:{qreal w event-pos().x();if (w getItemMinSize().width())setItemWidth(w);}break;case E_Bottom:{qreal h event-pos().y();if (h getItemMinSize().height())setItemHeight(h);}break; 左、上例 得到控件高度的变化值 moveSize.y()与原高度相减得出此时修改后的高度值也就是调整后的控件高度值 与此同时控件的y坐标也要发生改变原y坐标高度变化值 defaultWidgetY() dy, 因为坐标系y向下为正方向鼠标拖动上边框往下时差值为正但是高度是应该减小的所以此时 h是原高度-移动高度值 case E_Top:{int h getItemHeight() - moveSize.y();const int dy moveSize.y();trySetGeometry(defaultWidgetX(), defaultWidgetY() dy, getItemWidth(), h);}break;case E_Left:{int w getItemWidth() - moveSize.x();const int dx moveSize.x();trySetGeometry(defaultWidgetX() dx, defaultWidgetY(), w, getItemHeight());}break;调用trySetGeometry函数具体设置控件的xywh setItemSize函数中默认有resize函数设置修改控件尺寸 设置修改控件坐标时注意坐标系的转换setpospos的pos是基于父类图元的坐标 目前坐标 基于默认widgetItem —[mapToScene]转换成— 场景坐标 —[mapToParent]—相对该图元的父类图元坐标然后使用setpos设置修改调整后的控件坐标 注意修改后的宽高不要小于控件的最小宽高值 void ProxyClass::trySetGeometry(int x, int y, int width, int height) {int minw this-minimumSize().width();//控件的最小宽高int minh this-minimumSize().height();setItemSize(QSizeF(qMax(minw, width), qMax(minh, height)));//保存设置控件尺寸 修改后的宽高不要小于控件的最小宽高值setDefaultWidgetPos(QPointF(x,y));//保存调整后的坐标//坐标转换设置调整后坐标if(getRoScene()){auto sc dynamic_castDesignerGraphicsScene*(getRoScene());auto scPos sc-getDefaultWidgetItem()-mapToScene(QPointF(x,y));if(parentItem()){auto pPos mapToParent(mapFromScene(scPos));setPos(pPos);}} }3.鼠标释放后再调用修改右树属性值的函数达到视图中的控件属性状态与右树对应属性值的实时一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

珠海门户网站建设费用照片制作成相册

题目 表: Customer 你是餐馆的老板,现在你想分析一下可能的营业额变化增长(每天至少有一位顾客)。 计算以 7 天(某日期 该日期前的 6 天)为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。 结果按 …

手机网站比例尺寸重庆城市

I. 前言 在介绍如何精通MacOS上的Homebrew安装之前,首先需要了解什么是Homebrew以及为什么要使用它。 1. Homebrew是什么? Homebrew是一款开源的软件包管理工具,可以让用户轻松地安装、升级和卸载各种软件包。与其他的软件包管理器相比&am…

爱站网关键词挖掘工具站长工具网站首页面设计

学习路径计算之前需要一个场景,网上查了下迷宫生成方法花了点时间写了个简单的迷宫生成器 基本原理十分简单: 使用2维矩阵表示迷宫,每一个节点有四面墙,使用深度搜索,随机顺序向四个方向移动,,如果遇到已到…

在线咨询24小时免费咨询长沙网站优化掌营天下

转载自 三年半Java后端面试经历 经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征。 鹅厂 面试职位:go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场&…

丹东商城网站建设网站改版的方式大致有

forEach() forEach()方法需要一个函数作为参数。这种函数,是由我们创建但是不由我们调用的,我们称为回调函数。 数组中有几个元素,该回调函数就会执行几次。 回调函数中传递三个参数: 参数1:当前正在遍历的元素 参…

合肥外贸网站建设公司排名wordpress编辑文章

题目&#xff1a;给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 代码&#xff1a; class Solution {private Map<Integer, Integer> indexM…

长沙微网站开发咕果网给企业做网站的

再有半个月&#xff0c;就彻底的与2016告别了&#xff0c;在这里&#xff0c;也凑个热闹&#xff0c;写个总结吧。 这一年&#xff0c;是我从事这个前端行业的第三个年头&#xff0c;也是我真正的开始了解这个行业&#xff0c;而真正的为之努力与奋斗的一年。 从14年初懵懵懂懂…

渭南做网站博创互联网站设计用ps 怎么做

mfc是c的一个框架&#xff0c;可谓是经久不衰。最近博主遇到一个问题&#xff0c;就是单选按钮点击自己可以设置可选和不可选&#xff0c;貌似类似复选框一样&#xff0c;但领导分发的任务上要求的是用单选按钮实现复选框这种类似功能&#xff0c;实现效果类似如下图&#xff1…

长安做网站价格国外做的比较好看的网站

文章目录 前言一、回顾前几关知识点二、靶场第二十三关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去…

道德建设 网站客户管理软件免费版

&#x1f9f8;注&#xff1a;不要看我的文件多&#xff0c;那是我的其他项目&#xff0c;这个项目所用的文件我会全部用红框框起来&#xff0c;没框的部分不用管&#xff0c;前端两个文件&#xff0c;后端一个文件 &#x1f4dc; 目录 首先&#xff0c;定义前后端交互接口 然…

站酷官网信誉好的广州做网站

防火墙: 1. 查看是否安装了firewalld sudo systemctl status firewalld 查看防火墙状态或者sudo systemctl is-active firewalld 查看防火墙是否是开启状态 2. 开放6379port sudo firewall-cmd --add-port6379/tcp --permanent 刷新防火墙 sudo firewall-cmd --reload 3…

宝安中心地铁站是几号线天津住房与城乡建设部网站

1 Web方向的练手项目 这个其实是肯定不用多少的了。Python的练手项目就是可以做一个网站了。我们可以做一个属于自己的博客。在做博客的时候&#xff0c;我们可以巩固的知识点是 HtmlCSSJS的基础知识&#xff0c;以及熟练的运用Python的Web开发框架&#xff08;例如Django或者F…

如何建设专题网站wordpress 插件放在那

为什么说乱码是中国程序员无法避免的话题呢&#xff1f;这个首先要从编码机制上说起&#xff0c;大家都是中文和英文的编码格式不是一样&#xff0c;解码也是不一样的&#xff01;如果中国的程序员不会遇到乱码&#xff0c;那么只有使用汉语编程。汉语编程是怎么回事我也不大清…

云建站模板互联网推广广告

uni-app 网络API 在 uni-app 开发中&#xff0c;网络请求是获取数据与和服务器交互的重要手段。以下介绍 uni-app 中常见的网络 API&#xff0c;包括发起请求、上传和下载以及 WebSocket、UDP 通信等方面。 发起请求 在 uni-app 里&#xff0c;使用uni.request(OBJECT)来发起…

西安建设城市信息网站企业1级域名网站怎么做

问题描述 在Visual Studio 中编写代码时&#xff0c;发现使用库函数的时候&#xff0c;在类对象后输入点后&#xff0c;并没有出现类对应的成员信息的提示。 解决过程 1&#xff09;方法1&#xff1a; 百度“vs 没有代码提示”&#xff0c;搜索解决方案。 方案1&#xff1…

站长统计代码网站建设都

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

自己做图网站平度做网站

概念&#xff1a; 什么是反射? 利用反射可以无视修饰符获取类里面所有的属性和方法对于任何对象&#xff0c;都能够调用它的方法和属性&#xff0c;这种动态获取信息以及动态调用对象方法的功能称为Java的反射 反射的应用场景? 常见的有&#xff1a; idea的智能提示、框架等…

株洲市建设局网站网站收录服务

最近有些不少的小伙伴向小编反映说&#xff0c;控制面板突然出现了打不开的情况&#xff0c;那么遇到这种情况该怎么办呢&#xff1f;其实控制面板打不开很有可能是因为系统文件损坏造成的。今天&#xff0c;小编就来把打不开控制面板的解决方法分享给你们。其实控制面板是我们…

flask网站开发视频刚发布的手机

近来&#xff0c;今日头条对部分业务做出调整。一方面是将“头条百科”升级为“抖音百科”&#xff0c;通过“抖音百科”这个新品牌&#xff0c;更好的为今日头条和抖音的内容场景服务。另外一方面则是&#xff0c;推出全新的问答业务“秒真问答”&#xff0c;目前已经在抖音和…

漆包线 东莞网站建设网站代理备案价格

上一篇&#xff1a;01【Git的基本命令、底层命令、命令原理】 下一篇&#xff1a;03【Git的协同开发、TortoiseGit、IDEA的操作Git】 文章目录 02【Git分支的使用、Git回退、还原】一、分支1.1 分支概述1.1.1 Git分支简介1.1.2 Git分支原理 1.2 创建分支1.2.1 创建普通分支1.…