一种用户友好的QT二维绘图方法及引擎技术

技术编号:36967004 阅读:73 留言:0更新日期:2023-03-22 19:27
本发明专利技术公开了一种用户友好的QT二维绘图方法及引擎,方法:显示绘图页面;在接收到用户针对绘图页面的数据输入信号时获取待绘数据,根据预设变量的预设值确定初始绘图起点和初始缩放倍数;根据初始绘图起点、初始缩放倍数和待绘数据,在画布中绘制当前图形并显示;在获取到第一控制信号时,对当前图形处理,并显示处理后的图形;在获取到第二控制信号时,控制画布上对应的虚拟辅助工具的开启或关闭;在获取到第三控制信号时,获取第三控制信号对应的输入参数,并获取预设变量的当前值;基于第三控制信号对应的输入参数、预设变量的当前值、预设配置参数和待绘数据,重新生成画布,重新绘制图形,并将重新生成的画布与重新绘制的图形进行显示。图形进行显示。图形进行显示。

【技术实现步骤摘要】
一种用户友好的QT二维绘图方法及引擎


[0001]本专利技术属于绘图
,具体涉及一种用户友好的QT二维绘图方法及引擎。

技术介绍

[0002]随着图形化界面的普及,越来越多的个人、企业和组织都倾向于将自身所持有的数据以图形化的样式展示给用户。不论是以统计图表的形式查看参数、报表的数据走向,还是以二维示意图的形式展示产品参数的最终成形。这些图形化的数据更符合人们的认知,更方便用户对数据进行阅读和检索。
[0003]QT作为一款经典的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如,控制台工具和服务器。QT是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler,MOC))以及一些宏,QT很容易扩展,并且允许真正地组件编程。
[0004]不论对于个人用户还是大中小型企业、组织来说,在对数据的可视化展示需求和可控的成本之间,QT都不失是一款稳定且均衡的开发工具选择。如何使用QT为用户打造一款具有强可交互性的、符合用户直觉、体验良好,且功能本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用户友好的QT二维绘图方法,其特征在于,包括:显示包含多个虚拟功能按键的绘图页面;在接收到用户针对所述绘图页面的数据输入信号时,获取待绘数据;在接收到用户的绘制信号时,根据预设变量的预设值确定初始绘图起点和初始缩放倍数;所述预设变量包括:在所述画布中绘图时,用于控制绘图起点距离画布的左边界的距离的第一变量;在所述画布中绘图时,用于控制绘图起点距离画布的上边界的距离的第二变量;在所述画布中绘图时,用于控制图形绘制的缩放倍数的第三变量;以所述初始绘图起点为开始绘图点、以所述初始缩放倍数为图形的初始缩放倍数,根据所述待绘数据在所述绘图页面的显示有虚拟辅助工具的画布中绘制出当前图形,并进行显示;在获取到用户针对第一虚拟功能按键的第一控制信号时,对所述当前图形进行处理,并显示处理后的图形;在获取到用户针对第二虚拟功能按键的第二控制信号时,控制所述画布上对应的虚拟辅助工具的开启或关闭;在获取到用户针对所述画布与所述当前图形的第三控制信号时,获取所述第三控制信号对应的输入参数,以及获取所述预设变量的当前值;基于所述第三控制信号对应的输入参数、所述预设变量的当前值、预设配置参数和所述待绘数据,重新生成所述画布,以及重新绘制图形,并将重新生成的画布与重新绘制的图形进行显示。2.根据权利要求1所述的用户友好的QT二维绘图方法,其特征在于,所述第三控制信号是根据用户对所述当前图形的放大操作得到的;所述第三控制信号对应的输入参数为:放大操作的持续时间;所述预设配置参数包括:预设间隔值、预设最大值和画布参数;所述基于所述第三控制信号对应的输入参数、所述预设变量的当前值、预设配置参数和所述待绘数据,重新生成所述画布,以及重新绘制图形,包括:当所述放大操作开始时,将所述第三变量的当前值增加预设间隔值,得到第N次的第三变量;N为1;当所述第N次更新的第三变量小于预设最大值时,基于所述第N次的第三变量、所述第一变量的当前值、第二变量的当前值和所述画布参数,生成第N次的画布,以及采用所述第N次的第三变量、所述第一变量的当前值和第二变量的当前值,得到第N次的绘图起点,并以所述第N次的绘图起点为开始绘图点,以所述第N次的第三变量为图形的缩放倍数,根据所述待绘数据重新绘制图形,得到第N次的图形;将所述第N次的第三变量增加所述预设间隔值,得到第N+1次的第三变量;当所述第N+1次的第三变量小于所述预设最大值时,基于所述第N+1次的第三变量、所述第一变量的当前值、第二变量的当前值和所述画布参数,生成第N+1次的画布,以及采用所述第N+1次的第三变量、所述第一变量的当前值和第二变量的当前值,得到第N+1次的绘图起点,并以所述第N+1次的绘图起点为开始绘图点,以所述第N+1次的第三变量为图形的缩放倍数,根据所述待绘数据重新绘制图形,得到第N+1次的图形,直至在所述放大时间结束时,得到第N+m次的画布和图形;m为大于或等于1的整数;当所述第N+1次的第三变量大于或等于所述预设最大值时,基于所述预设最大值、所述
第一变量的当前值、第二变量的当前值和所述画布参数,生成第N+1次的画布,采用所述预设最大值、所述第一变量的当前值和第二变量的当前值,得到第N+1次的绘图起点,并以所述第N+1次的绘图起点为开始绘图点,以所述预设最大值为图形的缩放倍数,根据所述待绘数据重新绘制图形,得到第N+1次的图形,并将所述第N+1次的画布作为所述放大操作的剩余持续时间对应的画布,将所述第N+1次的图形作为所述剩余持续时间对应的绘制图形。3.根据权利要求2所述的用户友好的QT二维绘图方法,其特征在于,所述画布参数包括:画布宽度、画布高度、相邻网格虚线之间的像素距离;所述虚拟辅助工具为网格虚线;所述基于所述第N次的第三变量、所述第一变量的当前值、第二变量的当前值和所述画布参数,生成第N次的画布,包括:根据所述像素距离和所述第N次的第三变量,确定出坐标间隔值;设置第一循环,在所述第一循环中,绘制次数i的初始值为0,在进行第i次绘制时,根据i的值、所述坐标间隔值和所述画布高度,确定出第i次的竖网格线坐标;在所述第i次的竖网格线坐标的横坐标的绝对值小于所述画布宽度时,根据所述第i次的竖网格线坐标,绘制竖网格线,并将i更新为i+1,确定第i+1次的竖网格线坐标,直至第i+a次的竖网格线坐标的横坐标的绝对值大于所述画布宽度时,结束所述第一循环;a为大于1的整数;设置第二循环,在所述第二循环中,绘制次数j的初始值为0,在进行第j次绘制时,根据j的值、所述坐标间隔值和所述画布宽度,确定出第j次的横网格线坐标;在所述第j次的横网格线坐标的纵坐标的绝对值小于所述画布高度时,根据所述第j次的横网格线坐标,绘制横网格线,并将j更新为j+1,确定第j+1次的横网格线坐标,直至第j+b次的横网格线坐标的纵坐标的绝对值大于所述画布高度时,结束所述第二循环;b为大于1的整数;根据绘制的竖网格线和横网格线,生成显示所述网格虚线的第N次的画布。4.根据权利要求2所述的用户友好的QT二维绘图方法,其特征在于,所述画布参数包括:预设长度、画布宽度、画布高度;所述虚拟辅助工具为显示在所述画布上边界或左边界的坐标尺;所述基于所述第N次的第三变量、所述第一变量的当前值、第二变量的当前值和所述画布参数,生成第N次的画布,包括:设置第三循环,在所述第三循环中,设置绘制次数i的初始值为0,当进行第i次绘制时,当所述坐标尺显示在所述画布的上边界,则根据i的值、所述第一变量的当前值、所述第N次的第三变量和所述预设长度,确定出第i次的第一坐标点;当所述坐标尺显示在所述画布的左边界,则根据i的值、所述第二变量的当前值、所述第N次的第三变量和所述预设长度,确定出第i次的第二坐标点;当所述第i次的第一坐标点的横坐标的绝对值小于第N次的右循环次数边界值时,根据所述第i次的第一坐标点绘制第i次的竖坐标线,之后,将i更新为i+1,进行第i+1次绘制,直至第i+c次的第一坐标点的横坐标的绝对值大于所述第N次的右循环次数边界值时,结束所述第三循环;c为大于1的整数;所述第N次的右循环次数边界值是根据所述画布宽度与第N次的左循环次数边界值之间的差值,以及所述第N次的第三变量确定的;所述第N次的左循环次数边界值为所述第一变量的当前值;当所述第i次的第二坐标点的纵坐标的绝对值小于第N次的下循环次数边界值时,根据所述第i次的第二坐标点绘制第i次的横坐标线;之
后,将i更新为i+1,进行第i+1次绘制,直至第i+h次的第一坐标点的纵坐标的绝对值大于所述第N次的下循环次数边界值时,结束所述第三循环;所述第N次的下循环次数边界值是根据所述画布高度与第N次的上循环次数边界值之间的差值,以及所述第N次的第三变量确定的;所述第N次的上循环次数边界值为所述第二变量的当前值;设置第四循环,在所述第四循环中,设置绘制次数j的初始值为0,当进行第j次绘制时,当所述坐标尺显示在所述画布的上边界,则根据j的值、所述第一变量的当前值和所述第N次的第三变量和所述预设长度,确定出第j次的第一坐标点;当所述坐标尺显示在所述画布的左边界,则根据j的值、所述第二变量的当前值、所述第N次的第三变量和所述预设长度,确定出第j次的第二坐标点;当所述第j次的第一坐标点的横坐标的绝对值小于所述第N次的左循环次数边界值时,根据所述第j次的第一坐标点绘制第j次的竖坐标线,之后,将j更新为j+1,进行第j+1次绘制,直至第j+h次的第一坐标点的横坐标的绝对值大于所述第N次的左循环次数边界值时,结束所述第四循环;当所述第j次的第二坐标点的纵坐标的绝对值小于所述第N次的上循环次数边界值时,根据所述第j次的第二坐标点绘制第j次的横坐标线;之后,将j更新为j+1,进行第j+1次绘制,直至第j+c次的第二坐标点的纵坐标的绝对值大于所述第N次的上循环次数边界值时,结束所述第四循环。5.根据权利要求2所述的用户友好的QT二维绘图方法,其特征在于,所述第三控制信号是根据用户在触控位置处对所述当前图形的放大操作得到的;所述第三控制信号对应的输入参数为:触控...

【专利技术属性】
技术研发人员:彭延国李云鹏黄麓源刘洋
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1