CN109739490A - 一种基于qt图形框架的电气元件模型快速创建方法 - Google Patents
一种基于qt图形框架的电气元件模型快速创建方法 Download PDFInfo
- Publication number
- CN109739490A CN109739490A CN201811537471.0A CN201811537471A CN109739490A CN 109739490 A CN109739490 A CN 109739490A CN 201811537471 A CN201811537471 A CN 201811537471A CN 109739490 A CN109739490 A CN 109739490A
- Authority
- CN
- China
- Prior art keywords
- component
- model
- interface
- class
- creation process
- 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.)
- Granted
Links
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 (9)
1.一种基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤如下:
步骤1、利用QT创建人机交互界面,获取元件的参数信息;
步骤2、根据元件的参数,设置元件模型的参数;
步骤3、根据元件和元件模型的参数,使用QT图形框架绘制元件模型;
步骤4、对元件模型进行存储。
2.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤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组件属性。
3.根据权利要求2所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤1.3中,右击Push Button组件,选择转到槽,调用对应槽函数,将Line Edit组件获得的元件参数保存到对应的变量;调用connect函数,将槽函数与触发信号相关连,如通过鼠标点击触发槽函数。
4.根据权利要求2所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤2具体为:在工程的主函数中,根据元件库名称,设置元件模型的高度和宽度;根据元件的接口数目,设定元件模型中接口之间的距离;根据元件的引脚数目,设定元件模型中引脚之间的距离。
5.根据权利要求3所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤3具体包括以下步骤:
步骤3.1、根据接口和引脚的数目,将元件模型分解为若干模型元素;
步骤3.2、利用QT Graphics Item类进行模型元素的绘制;
步骤3.3、将绘制的模型元素通过平移、旋转、缩放等操作进行组合,得到最终的元件模型;
步骤3.4、使用QT Graphics Scene类创建视图界面对元件模型进行显示。
6.根据权利要求5所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤3.2中,首先以类QGraphicsItem为基类创建与模型元素相适应的子类,以创建模型元素对象;然后重写子类的boundingRect函数,对模型元素的大小进行设定,重写子类的paint函数,对模型元素具体形状进行绘制。
7.根据权利要求5所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤3.4中,首先以类QGraphicsScene为基类创建子类,以创建视图对象,承载元件模型;然后在子类中定义enum类型参数,指定该视图可承载的Item模型,定义信号和类对象,连接槽函数。
8.根据权利要求1所述的基于QT图形框架的电气元件模型快速创建方法,其特征在于,步骤4具体包括以下步骤:
步骤4.1、自定义若干struct变量,保存元件的属性参数以及元件模型中模型元素端点的坐标信息;
步骤4.2、利用QFile类创建新的二进制文件,根据元件类型确定文件保存路径;
步骤4.3、利用QDataStream类将各struct变量按写入顺序保存到二进制文件。
9.根据权利要求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 true CN109739490A (zh) | 2019-05-10 |
CN109739490B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026393A (zh) * | 2019-11-19 | 2020-04-17 | 中冶南方(武汉)自动化有限公司 | 一种基于qt的scada系统hmi开发方法 |
CN111522537A (zh) * | 2020-04-30 | 2020-08-11 | 大唐湘潭发电有限责任公司 | 电气二次回路图的参数化绘制方法 |
CN111680375A (zh) * | 2020-05-29 | 2020-09-18 | 科大智能电气技术有限公司 | 一种分布式fa仿真系统负荷预测方法及系统 |
CN115098083A (zh) * | 2022-08-26 | 2022-09-23 | 广州市保伦电子有限公司 | 一种图形视图框架的扩展方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008457A (zh) * | 2014-06-06 | 2014-08-27 | 南京南瑞继保电气有限公司 | 一种电力系统规划运行数据统一管理系统 |
US20140310281A1 (en) * | 2013-03-15 | 2014-10-16 | Yahoo! | Efficient and fault-tolerant distributed algorithm for learning latent factor models through matrix factorization |
CN106445477A (zh) * | 2015-08-12 | 2017-02-22 | 中国电力科学研究院 | 一种基于面向对象程序架构拓展用户自定义模型库的方法 |
CN106886411A (zh) * | 2017-02-17 | 2017-06-23 | 南京国电南自电网自动化有限公司 | 一种基于qt的继电保护装置逻辑图形化配置方法 |
-
2018
- 2018-12-15 CN CN201811537471.0A patent/CN109739490B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140310281A1 (en) * | 2013-03-15 | 2014-10-16 | Yahoo! | Efficient and fault-tolerant distributed algorithm for learning latent factor models through matrix factorization |
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的数字电路自动设计软件", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026393A (zh) * | 2019-11-19 | 2020-04-17 | 中冶南方(武汉)自动化有限公司 | 一种基于qt的scada系统hmi开发方法 |
CN111522537A (zh) * | 2020-04-30 | 2020-08-11 | 大唐湘潭发电有限责任公司 | 电气二次回路图的参数化绘制方法 |
CN111522537B (zh) * | 2020-04-30 | 2023-08-04 | 大唐湘潭发电有限责任公司 | 电气二次回路图的参数化绘制方法 |
CN111680375A (zh) * | 2020-05-29 | 2020-09-18 | 科大智能电气技术有限公司 | 一种分布式fa仿真系统负荷预测方法及系统 |
WO2021238542A1 (zh) * | 2020-05-29 | 2021-12-02 | 科大智能科技股份有限公司 | 一种分布式fa仿真系统负荷预测方法及系统 |
CN111680375B (zh) * | 2020-05-29 | 2023-11-17 | 科大智能电气技术有限公司 | 一种分布式fa仿真系统负荷预测方法及系统 |
CN115098083A (zh) * | 2022-08-26 | 2022-09-23 | 广州市保伦电子有限公司 | 一种图形视图框架的扩展方法、装置、设备及存储介质 |
CN115098083B (zh) * | 2022-08-26 | 2022-11-22 | 广州市保伦电子有限公司 | 一种图形视图框架的扩展方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109739490B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739490A (zh) | 一种基于qt图形框架的电气元件模型快速创建方法 | |
CN111400899B (zh) | 一种用于电缆敷设建模的处理方法、系统和存储介质 | |
CN110688691A (zh) | 一种基于酷家乐云设计平台的自由绘制台面的软件设计方法 | |
CN107273543B (zh) | 一种dgn数据格式的转换方法 | |
CN107766042A (zh) | 一种基于csar的模型文件的可视化设计方法及装置 | |
CN111177825A (zh) | 一种参数化建模方法和装置 | |
CN107392998A (zh) | 一种基于三维模型的工艺设计方法及系统 | |
CN111651817B (zh) | 基于bim的建筑构件设计方法、电子设备及存储介质 | |
CN110688713A (zh) | 一种变电工程电气设备三维设计的线路连接系统 | |
CN113010359A (zh) | 总线测试系统生成方法、系统、设备及存储介质 | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN103902757A (zh) | 三维模型快速创建与交互系统及方法 | |
CN111273900A (zh) | 基于gitlab实时代码共享的在线拖拽编码生成方法 | |
CN109840201B (zh) | Ui测试方法、装置、电子设备及计算机可读存储介质 | |
CN107729703B (zh) | 一种基于“Ruby”语言的“Sketch Up”厂房工艺设计方法 | |
CN106372359B (zh) | 一种设备虚拟样机系统 | |
CN102830978A (zh) | 一种可视化3d编程系统及应用 | |
CN110826185B (zh) | 一种基于cad二次开发轴承零件库的建立方法 | |
CN117236111A (zh) | 紧固件参数化建模方法、装置、终端设备以及存储介质 | |
CN112733345A (zh) | 一种航空螺栓自动三维标注方法及系统 | |
CN103902750A (zh) | 一种相似零部件参数化三维建模及二维图转化设计方法 | |
CN103745067A (zh) | 发电机定子端部参数化自动建模系统及方法 | |
CN115115787B (zh) | 一种基于DirectVR的二维图纸转3D模型方法 | |
CN111539053A (zh) | 一种基于bim软件的物料标识生成系统及其使用方法 | |
CN115630926A (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 |