基于QT的用户界面控件的生成方法及装置与流程

文档序号:14797092发布日期:2018-06-29 20:05阅读:221来源:国知局

本发明涉及计算机技术领域,尤其涉及一种基于QT的用户界面控件生成方法及装置。



背景技术:

现有的嵌入式设备越来越需要具备个性和特色的用户交互界面,其中,主流的用户交互界面设计的核心就是控件技术。为了提供更好的用户体验,通常需要设计一些个性化的用户界面控件。

现有的设计一些个性化的复杂用户界面控件的方式为:利用Qt Creator创建控件工程来生成自定义控件,其中,Qt Creator是一种跨平台的集成开发环境。但是,上述设计用户界面控件的方法需要开发人员编写相应的代码,以实现所需要的个性化的复杂用户界面控件,其工作量非常大且操作复杂、代码复用率比较低,而且由于只能手写代码来实现用户界面控件的设计,使得控件的设计过程中无法看到最终的控件是否与预期相同。



技术实现要素:

本发明提供的基于QT的用户界面控件生成方法及装置,其具有操作简单、过程可视化和代码复用率高的优点,且在生成用户界面控件类型的同时自动生成对应的源代码和插件,以实现跨平台使用与兼容QT,从而能够提高用户界面控件的开发效率。

第一方面,本发明提供一种基于QT的用户界面控件生成方法,包括:

在接收到启动命令时,显示控件生成界面以及控件元素列表,所述控件元素列表将控件元素按类显示;其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的;

根据用户在控件生成界面上选择的控件类型,在所述控件元素列表中显示所述控件类型对应的控件元素;

根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面;

根据用户的元素组合操作,将多个目标控件元素进行组合以形成用户界面控件。

第二方面,本发明提供一种用户界面控件生成装置,所述装置包括第一显示模块、选择模块、第二显示模块和组合模块,其中,

所述第一显示模块,用于在接收到启动命令时,显示控件生成界面以及控件元素列表,所述控件元素列表将控件元素按类显示;其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的;

所述选择模块,用于根据用户在控件生成界面上选择的控件类型,在所述控件元素列表中显示所述控件类型对应的控件元素;

所述第二显示模块,用于根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面;

所述组合模块,用于根据用户的元素组合操作,将多个目标控件元素进行组合以形成用户界面控件。

本发明实施例提供的基于QT的用户界面控件生成方法及装置,在接收到启动命令时显示控件生成界面以及按类显示控件元素的控件元素列表;其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的;根据用户在控件生成界面上选择的控件类型,在所述控件元素列表中显示所述控件类型对应的控件元素;根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面;根据用户的元素组合操作,将多个目标控件元素进行组合以形成用户界面控件。与现有技术相比,一方面,本发明只需要用户根据需要选择控件元素就可以生成用户界面控件,而无需用户手动编写代码,可见,本发明的控件生成方案操作简单且操作可视化,即用户可以在控件生成过程中可以看到控件的真实效果;另一方面,本发明生成可视化用户界面控件的同时也自动生成对应的源代码和插件,且源代码能够直接应用于其他平台使用,插件能够兼容QT,从而提高了代码复用率。综上所述,本发明的基于QT的用户界面控件生成方法及装置能够提高用户界面控件的开发效率。

附图说明

图1为本发明的基于QT的用户界面控件生成方法一实施例的流程图;

图2为本发明的基于QT的用户界面控件生成方法另一实施例的流程图;

图3为应用本发明实施例生成用户界面控件时的可视化的用户操作界面;

图4为本发明的基于QT的用户界面控件生成装置一实施例的结构示意图;

图5为本发明的基于QT的用户界面控件生成装置另一实施例的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Qt是一个跨平台的C++图形用户界面应用程序框架,本发明提供一种基于QT的用户界面控件生成方法及装置。

本发明提供一种基于QT的用户界面控件生成方法,如图1所示,所述方法包括:

S11、在接收到启动命令时,显示控件生成界面以及按类显示控件元素的控件元素列表。

其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的。

S12、根据用户在控件生成界面上选择的控件类型,在所述控件元素列表中显示所述控件类型对应的控件元素。

S13、根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面。

S14、根据用户的元素组合操作,将多个目标控件元素进行组合以形成用户界面控件。

本发明实施例提供的基于QT的用户界面控件生成方法,与现有技术相比,一方面,本发明只需要用户根据需要选择控件元素就可以生成用户界面控件,而无需用户手动编写代码,可见,本发明的控件生成方案操作简单且操作可视化,即用户可以在控件生成过程中可以看到控件的真实效果,从而能够提高用户界面控件的开发效率。

可选地,所述控件类型包括背景、前景、指针、刻度、表盘、图表和/或曲线。

可选地,所述根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面,包括:

根据用户的选取拽动作,确定所述目标控制元素显示的位置;

通过绘制事件函数调用绘制函数实现目标控制元素在相应位置的显示。

进一步地,在所述S11步骤之后,还包括:

在接收到启动命令时,显示属性设置窗口,所述属性设置窗口为悬浮窗口。

相应地,所述步骤S14具体为:

根据用户在所述属性设置窗口设置的控件属性命令,设置所述多个目标控件元素的属性,所述属性包括最大最小值、坐标值。

例如,以表盘这种类型的用户界面控件为例,需要设置的控件元素包括指针和刻度等,具体地,设置指针的当前值、设置表盘的刻度范围等等。

这样,用户就可以通过灵活修改控件元素的属性,并能够看到所形成用户界面控件的真实效果,由此可见,本发明的用户界面控件生成方案中用户可以实时测试控件效果。

进一步地,如图2所示,在S14之后还包括:

S15、根据用户的源代码文件导出命令,导出所述用户界面控件所对应的源代码文件;和/或,根据用户的插件导出命令,导出所述用户界面控件所对应的插件。

这样,用户可以根据需要导出用户界面控件对应的源代码文件或者插件,其中,导出的源代码,例如为C++、XML等格式的源代码可以跨平台使用,导出的插件能够兼容QT,即类似于新建了一个QT库以供QT使用,从而提高了代码复用率。

应用本发明实施例生成用户界面控件时的可视化的用户操作界面,如图3所示,所述用户操作界面包括控件生成界面、控件元素列表和控件元素的属性设置窗口。

1)当所述用户操作界面接收到启动命令时,就会在所述用户操作界面上显示控件生成界面、按类显示控件元素的控件元素列表以及控件元素的属性设置窗口。

其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的。

2)另外,在所述用户操作界面上还设置有可供用户选择的控件类型菜单(图3中未示出),当用户从所述控件类型菜单中选择某一个控件类型时,所述控件元素列表中显示所述控件类型对应的控件元素。

3)然后,用户可以通过从控件元素列表中拖拽需要的目标控件元素至所述控件生成界面。

4)当用户移动鼠标至目标控件元素时,所述用户操作界面上会悬浮出控件元素的属性设置窗口,以便于用户设置目标控件元素的属性,这样就会显示出用户界面控件的真实效果。

本发明提供一种基于QT的用户界面控件生成装置,如图4所示,所述装置包括第一显示模块11、选择模块12、第二显示模块13和组合模块14。

所述显示模块11,用于在接收到启动命令时,显示控件生成界面以及控件元素列表,所述控件元素列表将控件元素按类显示;其中,所述控件生成界面是基于QWidget类构建的,所述控件元素列表是基于QTreeWidget类构建的,所述控件元素是基于QcItem类以及Qobject类构建的;

所述选择模块12,用于根据用户在控件生成界面上选择的控件类型,在所述控件元素列表中显示所述控件类型对应的控件元素;

所述第二显示模块13,用于根据用户的选取拖拽操作,将目标控件元素显示到所述控件生成界面;

所述组合模块14,用于根据用户的元素组合操作,将多个目标控件元素进行组合以形成用户界面控件。

本发明实施例提供的基于QT的用户界面控件生成装置,与现有技术相比,一方面,本发明只需要用户根据需要选择控件元素就可以生成用户界面控件,而无需用户手动编写代码,可见,本发明的控件生成方案操作简单且操作可视化,即用户可以在控件生成过程中可以看到控件的真实效果,从而能够提高用户界面控件的开发效率。

可选地,所述控件类型包括背景、前景、指针、刻度、表盘、图表和/或曲线。

可选地,所述第二显示模块包括确定单元和显示单元,其中,

所述确定单元,用于根据用户的选取拽动作,确定所述目标控制元素显示的位置;

所述显示单元,用于通过绘制事件函数调用绘制函数实现目标控制元素在相应位置的显示。

进一步地,所述装置还包括第三显示模块,其中,

所述第三显示模块,用于在接收到启动命令时,显示属性设置窗口,所述属性设置窗口为悬浮窗口;

相应地,所述组合模块,用于根据用户在所述属性设置窗口设置的控件属性设置命令,设置所述用户界面控件中各个多个目标控件元素的属性,所述属性包括最大最小值、坐标值。

例如,以表盘这种类型的用户界面控件为例,需要设置的控件元素包括指针和刻度等,具体地,设置指针的当前值、设置表盘的刻度范围等等。

这样,用户就可以通过灵活修改控件元素的属性,并能够看到所形成用户界面控件的真实效果,由此可见,本发明的用户界面控件生成方案中用户可以实时测试控件效果。

进一步地,如图5所示,所述装置还包括导出模块15,其中,所述导出模块15,用于根据用户的源代码文件导出命令,导出所述用户界面控件所对应的源代码文件;和/或,根据用户的插件导出命令,导出所述用户界面控件所对应的插件。

这样,用户可以根据需要导出用户界面控件对应的源代码文件或者插件,其中,导出的源代码,例如为C++、XML等格式的源代码可以跨平台使用,导出的插件能够兼容QT,即类似于新建了一个QT库以供QT使用,从而提高了代码复用率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1