[发明专利]一种基于Qt的自定义控件的使用方法无效
申请号: | 201210534593.0 | 申请日: | 2012-12-12 |
公开(公告)号: | CN102981861A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 高宇;史云鹏;施连灯 | 申请(专利权)人: | 上海航天测控通信研究所 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200080 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 qt 自定义 控件 使用方法 | ||
技术领域
本发明涉及Qt的图形界面开发方法,尤其是一种应用在嵌入式领域的Qt图形界面开发方法。
背景技术
在嵌入式领域中,以VxWorks为例,在保证系统实时性的前提下,功能更为强大的人性化界面设计要求越来越高。目前在VxWorks下多采用其内嵌的WindML图形库组件进行开发,该组件对窗口、控件等图形开发功能较弱。Qt相比WindML等其他图像开发库,具有支持多平台、代码可移植性强、图形库功能丰富等优点。采用VxWorks和Qt相结合的形式可以作为嵌入式图形界面开发的一个解决方案。
Qt提供了丰富的类库,对于采用系统默认风格的界面开发已经够用。如果直接继承Qt基本类库,同时直接对继承后的子类进行设置和引用,尽管最终可以实现界面设计要求,但会导致在应用程序中对相同类别派生出的多个对象进行多次重复设置。这样会降低代码的可读性、增加了各模块间的耦合度,不利于软件的维护。另外,目前广泛使用的可视化开发工具Qt Designer在控件样式设置、位置布局等方面显得不够灵活,同时利用它不能够在程序运行时动态的生成控件。
发明内容
本发明旨在解决目前Qt开发过程中存在的模块耦合度高、代码可读性差等问题,本发明提供了一种基于Qt的自定义控件的使用方法,其包括以下步骤:
基于Qt基本类库中的类作为父类派生出自定义控件类,所述自定义控件类重载所述父类成员函数或新建新构造函数实现对自身的封装;
自定义控件类作为自定义控件使用时,为所述自定义控件类分配空间并调用所述重载的父类成员函数或构造函数。
较佳地,一个Qt图形界面包括多个自定义控件类,所述多个自定义控件类相互独立并能配合使用。
较佳地,所述的封装包括对样式、功能、事件的封装。
本发明的有益效果:
使用基于Qt的图形界面的自定义控件开发,能够有效降低软件模块间的耦合度,同时使程序代码变得简洁,从而易于维护;另外,还能够动态的对控件进行操作。
附图说明
结合附图,通过下文的述详细说明,可更清楚地理解本发明的上述及其他特征和优点,其中:
图1示出了本发明的流程图;
图2为实现本发明实施例1的流程图;
图3为实现本发明实施例2的流程图;
图4为实现本发明实施例3的流程图。
具体实施方式
参见示出本发明实施例的附图,下文将更详细地描述本发明。然而,本发明可以以许多不同形式实现,并且不应解释为受在此提出之实施例的限制。相反,提出这些实施例是为了达成充分及完整公开,并且使本技术领域的技术人员完全了解本发明的范围。这些附图中,为清楚起见,可能放大了层及区域的尺寸及相对尺寸。
如图1所示,本发明提供了一种基于Qt的自定义控件的使用方法,其过程为:
基于Qt基本类库中的类作为父类派生出自定义控件类,所述自定义控件类重载所述父类成员函数或新建新构造函数实现对自身的封装;
自定义控件类作为自定义控件使用时,为所述自定义控件类分配空间并调用所述重载的父类成员函数或构造函数。
一个Qt图形界面上可以生成多个自定义控件类,各个自定义控件类相互独立,本实施例中分别对各个自定义控件类独立设置其样式、功能事件等,各自定义控件类相互配合使用。
实施例1
图2所示的实施例1中,设计并应用了自定义Label控件。其具体过程为:
使用Qt自带的Qlabel类作为父类派生出label_widget类作为自定义Label控件,其构造函数声明如下:
label_widget(QWidget *parent = 0, quint16 x = 10, quint16 y = 10, quint16 w = 10, quint16 h = 10, QString lbl_text = tr(), QString lbl_font = tr(宋体), quint8 lbl_size = 12, bool changeble = false, QColor color_back = Qt::black, QColor color_fore = Qt::white, bool frame = true);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海航天测控通信研究所,未经上海航天测控通信研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210534593.0/2.html,转载请声明来源钻瓜专利网。