CN109739490B - 一种基于qt图形框架的电气元件模型快速创建方法 - Google Patents
一种基于qt图形框架的电气元件模型快速创建方法 Download PDFInfo
- Publication number
- CN109739490B CN109739490B CN201811537471.0A CN201811537471A CN109739490B CN 109739490 B CN109739490 B CN 109739490B CN 201811537471 A CN201811537471 A CN 201811537471A CN 109739490 B CN109739490 B CN 109739490B
- Authority
- CN
- China
- Prior art keywords
- model
- component
- class
- setting
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于QT图形框架的电气元件模型快速创建方法,首先利用QT创建人机交互界面,获取元件的参数信息;然后根据元件的参数,设置元件模型的参数;接着根据元件和元件模型的参数,使用QT图形框架绘制元件模型;最后对元件模型进行存储。本发明满足用户对特殊元件模型的开发需求,提高了用户的开发效率,并且定义元件存储格式,方便在其他软件上对其进行二次编辑开发。
Description
技术领域
本发明涉及电气元件模型创建,具体涉及一种基于QT图形框架的电气元件模型快速创建方法。
背景技术
随着科技的不断发展,现代电网的规模日益增大,电气元件的数量和种类越来越多,并且复杂度也越来越高,为了要保证电气元件的精准性,国家电网人员需要更便捷、高效率的仿真软件,同时也需要更有效的方式来创建元件模型。
但是在目前使用的软件系统中,难以满足各种元件绘制的需求,特别是特殊用途的元件在现有软件的模型库中并不存在,并且在不同软件之间创建的模型并不能通用,造成了开发难,效率低的后果。
发明内容
本发明的目的在于提供一种电气元件模型的创建方法,具体在于电气仿真软件中进行元件库的建立。
实现本发明目的的技术解决方案为:一种基于QT图形框架的电气元件模型快速创建方法,步骤如下:
步骤1、利用QT创建人机交互界面,获取元件的参数信息;
步骤2、根据元件的参数,设置元件模型的参数;
步骤3、根据元件和元件模型的参数,使用QT图形框架绘制元件模型;
步骤4、对元件模型进行存储。
本发明与现有技术相比,其显著效果为:本发明满足了特定用途的元件绘制,同时满足可重用性,解决了现有电气仿真软件中模型库落后、模型库兼容性差等问题。
附图说明
图1是本发明电气元件模型快速创建方法流程图。
图2是元件名称及端口数目设定示意图。
图3是元件引脚数目设定示意图。
图4是元件端口名称设定示意图。
图5是一个完整的元件模型。
具体实施方式
下面结合实例和附图对本发明进行进一步说明。
如图1所示,一种基于QT图形框架的电气元件模型快速创建方法,步骤如下:
步骤1、创建人机交互界面获取元件的参数信息,具体如下:
步骤1.1、利用QT新建一个工程,添加一个QT设计师界面类,界面模板为Dialogwithout Buttons;
步骤1.2、选择若干数量的Push Button组件,拖动至主界面下方,对各PushButton组件的属性进行设定;本发明中设置3个Push Button组件,包括确定、取消和修改,实际应用中可以根据需求调整Push Button组件的数量和属性。
选择若干数量的Label组件,拖动至主界面左侧,对各Label组件的属性进行设定。本发明中设置4个Label组件,分别对应元件库名称(元件类型)、元件名称、接口数目和引脚数目;实际应用中可以根据需求调整Label组件的数量和属性。
选择若干数量的Line Edit组件,拖动至主界面中Label组件的右侧,对各LineEdit组件的大小属性进行设定;本发明中设置4个Line Edit组件,与Label组件对应,用于设置Label组件的属性参数。
步骤1.3、对主界面中各Push Button组件进行槽函数的映射,实现Push Button组件属性,具体方法为:
右击Push Button组件,选择转到槽,调用对应槽函数,将Line Edit组件获得的元件参数保存到对应的变量;调用connect函数,将槽函数与触发信号相关连,如通过鼠标点击触发槽函数。
步骤2、根据参数信息创建元件的数学模型,具体如下:
在工程的主函数中,根据元件库名称,设置元件模型的高度和宽度;
根据元件的接口数目,设定元件模型中接口之间的距离;
根据元件的引脚数目,设定元件模型中引脚之间的距离。
步骤3、使用QT图形框架对元件模型进行绘制,具体如下:
步骤3.1、根据接口和引脚的数目,将元件模型分解为若干模型元素,如用长方形和三角形分别表示接口和引脚;
步骤3.2、利用QT Graphics Item类进行长方形和三角形的绘制,具体是以类QGraphicsItem为基类创建子类,用于创建模型元素对象,与模型元素相适应,本发明设置子类QRect和子类QTriangle;然后重写子类的boundingRect函数,对模型元素的大小进行设定;重写子类的paint函数,对模型元素具体形状进行绘制;
步骤3.3、将绘制的模型元素通过平移、旋转、缩放等操作进行组合,得到最终的元件模型;
步骤3.4、使用QT Graphics Scene类创建视图界面对元件模型进行显示,具体是:以类QGraphicsScene为基类创建子类,用于创建视图对象,承载元件模型,本发明命名为QScene;在类QScene中定义enum类型参数,指定该视图可承载的Item模型;在类QScene中定义信号和类对象用于连接槽函数。
步骤4、对元件模型进行存储,具体如下:
步骤4.1、自定义若干struct变量,保存元件的属性参数以及元件模型中模型元素端点的坐标信息;
步骤4.2、利用QFile类创建新的二进制文件,根据元件类型确定文件保存路径;
步骤4.3、利用QDataStream类将各struct变量按写入顺序保存到二进制文件,具体是:创建一个QDataStream对象in,通过重定向设定对象in的操作变量和写入顺序,将struct结构体按顺序保存到二进制文件。
Claims (5)
1.一种基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤如下:
步骤1、利用QT创建人机交互界面,获取元件的参数信息;
步骤2、根据元件的参数,设置元件模型的参数;
步骤3、根据元件和元件模型的参数,使用QT图形框架绘制元件模型;
步骤4、对元件模型进行存储;
步骤1具体包括以下步骤:
步骤1.1、利用QT新建一个工程,添加一个QT设计师界面类,界面模板为Dialogwithout Buttons;
步骤1.2、选择若干数量的Push Button组件,拖动至主界面,对各Push Button组件的属性进行设定,包括确定、取消和修改;
选择若干数量的Label组件,拖动至主界面,对各Label组件的属性进行设定,包括元件库名称、元件名称、接口数目和引脚数目;
与Label组件对应,选择若干数量的Line Edit组件,拖动至主界面,对各Line Edit组件的大小属性进行设定,以调整Label组件的属性参数;
步骤1.3、对主界面中各Push Button组件进行槽函数的映射,实现Push Button组件属性;
步骤2具体为:在工程的主函数中,根据元件库名称,设置元件模型的高度和宽度;根据元件的接口数目,设定元件模型中接口之间的距离;根据元件的引脚数目,设定元件模型中引脚之间的距离;
步骤3具体包括以下步骤:
步骤3.1、根据接口和引脚的数目,将元件模型分解为若干模型元素;
步骤3.2、利用QT Graphics Item类进行模型元素的绘制;
步骤3.3、将绘制的模型元素通过平移、旋转、缩放进行组合,得到最终的元件模型;
步骤3.4、使用QT Graphics Scene类创建视图界面对元件模型进行显示;
步骤4具体包括以下步骤:
步骤4.1、自定义若干struct变量,保存元件的属性参数以及元件模型中模型元素端点的坐标信息;
步骤4.2、利用QFile类创建新的二进制文件,根据元件类型确定文件保存路径;
步骤4.3、利用QDataStream类将各struct变量按写入顺序保存到二进制文件。
2.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤1.3中,右击Push Button组件,选择转到槽,调用对应槽函数,将Line Edit组件获得的元件参数保存到对应的变量;调用connect函数,将槽函数与触发信号相关连。
3.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤3.2中,首先以类QGraphicsItem为基类创建与模型元素相适应的子类,以创建模型元素对象;然后重写子类的boundingRect函数,对模型元素的大小进行设定,重写子类的paint函数,对模型元素具体形状进行绘制。
4.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤3.4中,首先以类QGraphicsScene为基类创建子类,以创建视图对象,承载元件模型;然后在子类中定义enum类型参数,指定该视图可承载的Item模型,定义信号和类对象,连接槽函数。
5.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤4.3中,创建一个QDataStream对象in,通过重定向设定对象in的操作变量和写入顺序,将struct结构体按顺序保存到二进制文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537471.0A CN109739490B (zh) | 2018-12-15 | 2018-12-15 | 一种基于qt图形框架的电气元件模型快速创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537471.0A CN109739490B (zh) | 2018-12-15 | 2018-12-15 | 一种基于qt图形框架的电气元件模型快速创建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739490A CN109739490A (zh) | 2019-05-10 |
CN109739490B true CN109739490B (zh) | 2022-05-13 |
Family
ID=66360300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811537471.0A Active CN109739490B (zh) | 2018-12-15 | 2018-12-15 | 一种基于qt图形框架的电气元件模型快速创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739490B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026393A (zh) * | 2019-11-19 | 2020-04-17 | 中冶南方(武汉)自动化有限公司 | 一种基于qt的scada系统hmi开发方法 |
CN111522537B (zh) * | 2020-04-30 | 2023-08-04 | 大唐湘潭发电有限责任公司 | 电气二次回路图的参数化绘制方法 |
CN111680375B (zh) * | 2020-05-29 | 2023-11-17 | 科大智能电气技术有限公司 | 一种分布式fa仿真系统负荷预测方法及系统 |
CN115098083B (zh) * | 2022-08-26 | 2022-11-22 | 广州市保伦电子有限公司 | 一种图形视图框架的扩展方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008457A (zh) * | 2014-06-06 | 2014-08-27 | 南京南瑞继保电气有限公司 | 一种电力系统规划运行数据统一管理系统 |
CN106445477A (zh) * | 2015-08-12 | 2017-02-22 | 中国电力科学研究院 | 一种基于面向对象程序架构拓展用户自定义模型库的方法 |
CN106886411A (zh) * | 2017-02-17 | 2017-06-23 | 南京国电南自电网自动化有限公司 | 一种基于qt的继电保护装置逻辑图形化配置方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535938B2 (en) * | 2013-03-15 | 2017-01-03 | Excalibur Ip, Llc | Efficient and fault-tolerant distributed algorithm for learning latent factor models through matrix factorization |
-
2018
- 2018-12-15 CN CN201811537471.0A patent/CN109739490B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008457A (zh) * | 2014-06-06 | 2014-08-27 | 南京南瑞继保电气有限公司 | 一种电力系统规划运行数据统一管理系统 |
CN106445477A (zh) * | 2015-08-12 | 2017-02-22 | 中国电力科学研究院 | 一种基于面向对象程序架构拓展用户自定义模型库的方法 |
CN106886411A (zh) * | 2017-02-17 | 2017-06-23 | 南京国电南自电网自动化有限公司 | 一种基于qt的继电保护装置逻辑图形化配置方法 |
Non-Patent Citations (1)
Title |
---|
基于Qt的数字电路自动设计软件;张伟伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20160215(第02期);正文第12-41页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109739490A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739490B (zh) | 一种基于qt图形框架的电气元件模型快速创建方法 | |
CN108681444A (zh) | 一种基于xml技术的软plc组态开发方法 | |
CN111079244B (zh) | 一种基于行为树的分布式仿真平台 | |
CN107273543B (zh) | 一种dgn数据格式的转换方法 | |
CN104765843B (zh) | 一种用于电力实时监控系统的图形界面控制方法 | |
CN109918070A (zh) | 一种平台基于浏览器的自定义监控组态的系统及方法 | |
CN102799720A (zh) | 一种cad图形和图像混合编辑系统 | |
CN112465958A (zh) | 一种基于WebGL的BIM模型轻量化显示方法 | |
CN112100296B (zh) | 一种便于进行gis矢量数据编辑的gis系统 | |
CN106371869B (zh) | 一种智能变电站间隔层设备的iec61850配置软件实现方法 | |
CN108733441B (zh) | 一种适用于大规模电网符号设备的渲染可视化方法及系统 | |
CN109062570A (zh) | 一种基于eplan软件自动生成图纸的方法及存储介质 | |
CN104217306A (zh) | 一种基于结构化的全业务流程计算机建模方法 | |
CN112529055A (zh) | 一种图像标注和标注数据集处理方法 | |
CN116775003A (zh) | 一种基于低代码的建模系统及方法 | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN117236111A (zh) | 紧固件参数化建模方法、装置、终端设备以及存储介质 | |
CN104239606A (zh) | Web环境下支持触屏的UML建模方法与装置 | |
CN115115787B (zh) | 一种基于DirectVR的二维图纸转3D模型方法 | |
CN113126866B (zh) | 对象确定方法、装置、电子设备以及存储介质 | |
CN110826185A (zh) | 一种基于cad二次开发轴承零件库的建立方法 | |
CN115630926A (zh) | 一种车间设备管理方法、装置、设备及存储介质 | |
CN109887058A (zh) | 跨平台绘图系统 | |
CN115311416A (zh) | 一种创建三维场景的方法 | |
CN111880883B (zh) | 一种基于设备对象的动态组合图元实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |