窗口伸缩效果的实现方法技术

技术编号:11584894 阅读:274 留言:0更新日期:2015-06-10 18:20
本发明专利技术提供了一种窗口伸缩效果的实现方法,包括如下步骤:S1:创建至少一个自定义窗口类,并为其添加用于窗口创建的成员函数,从而创建位于一可伸展开可收缩起的窗口上的一个标题栏;S2:响应其中之一所述标题栏的鼠标点击输入,所述窗口逐渐伸展开,直至窗口内容全部展示;S3:响应该标题栏的鼠标的再次点击输入,所述窗口逐渐收缩起,直至窗口内容被所述标题栏覆盖。本发明专利技术引入了标题栏,相应的辅助窗口与该标题栏匹配,可以将待显示的信息隐藏在窗口中,需要显示时,通过对标题栏的点击操作,使得该窗口弹出,不需要显示时,再次点击操作,该窗口又可收回,有效节约了显示空间,也使得界面效果变得生动。

【技术实现步骤摘要】

本专利技术涉及嵌入式开发领域,尤其涉及一种基于Qt的图形界面开发中。
技术介绍
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发⑶I程序,也可用于开发非⑶I程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于1S的完全支持,新增WinRT、Beautif ier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持1S、Android、WP。在多窗口界面设计中,需要时刻关心或实时观测的窗口应当常态显示,其余辅助窗口由于显示空间有限或出于布局美观的考虑而无需常态显示。以往对于这些辅助窗口多采用整屏切换集中显示,增加了过多的显示页面且显示空间利用率不高,既不合理又不美观。
技术实现思路
本专利技术要解决的技术问题是如何解决多辅助窗口整屏切换机种显示的显示空间利用率不高的问题。为了解决这一技术问题,本专利技术提供了一种,包括如下步骤:S1:创建至少一个自定义窗口类,并为其添加用于窗口创建的成员函数,从而创建位于一可伸展开可收缩起的窗口上的一个标题栏;S2:响应其中之一所述标题栏的鼠标点击输入,所述窗口逐渐伸展开,直至窗口内容全部展示;S3:响应该标题栏的鼠标的再次点击输入,所述窗口逐渐收缩起,直至窗口内容被所述标题栏覆盖。可选的,在所述步骤SI中还包括建立事件滤波器;所述事件滤波器用以,在所述步骤S2与S3中判断鼠标的点击输入是否符合预设的规则,若符合,才响应所述标题栏的鼠标点击输入和再次点击输入。可选的,在所述步骤SI中还包括建立定时器和超时处理模块;在所述步骤S2中,响应所述标题栏的鼠标点击输入,所述定时器被启动,从而使得所述超时处理模块控制所述窗口逐渐伸展开,直至窗口内容全部展示;在所述步骤S3中,响应所述标题栏的鼠标的再次点击输入,所述定时器再次被启动,从而使得所述超时处理模块控制所述窗口逐渐收缩起,直至窗口内容被所述标题栏覆至ΠΠ O可选的,在所述步骤S2中,所述窗口伸展开至窗口内容全部展示的时间由预设在所述定时器中的超时时间来确定;在所述步骤S3中,所述窗口收缩起至窗口内容被所述标题栏覆盖的时间也由预设在所述定时器中的超时时间来确定。可选的,所述标题栏位于伸展开后窗口的上端位置;在所述步骤S2中,所述窗口向下逐渐伸展开;在所述步骤S3中,所述窗口向上逐渐收缩起。可选的,所述标题栏位于伸展开后窗口的左侧位置;在所述步骤S2中,所述窗口向右逐渐伸展开;在所述步骤S3中,所述窗口向左逐渐收缩起。可选的,所述标题栏采用QLabel控件。可选的,在所述步骤SI中,基于QFrame创建所述自定义窗口类。可选的,在所述步骤SI中,所述成员函数为create成员函数。本专利技术引入了标题栏,相应的辅助窗口与该标题栏匹配,可以将待显示的信息隐藏在窗口中,需要显示时,通过对标题栏的点击操作,使得该窗口弹出,不需要显示时,再次点击操作,该窗口又可收回,有效节约了显示空间,也使得界面效果变得生动。【附图说明】图1是本专利技术一实施例提供的的原理流程示意图;图2是本专利技术一实施例中具体的的流程示意图。【具体实施方式】以下将结合图1和图2对本专利技术提供的进行详细的阐述,其为本专利技术可选的实施例,可以认为,本领域的技术人员在不改变本专利技术精神和内容的范围内能够对其进行修改和润色。请参考图1和图2,本实施例提供了一种,包括如下步骤:S1:创建至少一个自定义窗口类,并为其添加用于窗口创建的成员函数,从而创建位于一可伸展开可收缩起的窗口上的一个标题栏;在所述步骤SI中还包括建立事件滤波器;在所述步骤SI中还包括建立定时器和超时处理模块;在所述步骤SI中,基于QFrame创建所述自定义窗口类。在所述步骤SI中,所述成员函数为create成员函数。换言之,本实施例中,在步骤SI中,基于QFrame创建一个自定义窗口类,为其添加用于窗口创建的create成员函数,在create中创建一个标题栏并建立一个定时器和事件滤波器,通过“信号/槽”机制将定时器的超时timeout O和超时处理timer_event O进行连接,通过instal IEventFi I ter O安装事件滤波器;利用事件滤波器的eventFilter O判断标题栏的鼠标按键事件;S2:响应其中之一所述标题栏的鼠标点击输入,所述窗口逐渐伸展开,直至窗口内容全部展示;所述事件滤波器在所述步骤S2中判断鼠标的点击输入是否符合预设的规则,若符合,才响应所述标题栏的鼠标点击输入;这种规则可以简单地选择为单击或者双击。在所述步骤S2中,响应所述标题栏的鼠标点击输入,所述定时器被启动,从而使得所述超时处理模块控制所述窗口逐渐伸展开,直至窗口内容全部展示;在所述步骤S2中,所述窗口伸展开当前第1页1 2 本文档来自技高网...

【技术保护点】
一种窗口伸缩效果的实现方法,其特征在于:包括如下步骤:S1:创建至少一个自定义窗口类,并为其添加用于窗口创建的成员函数,从而创建位于一可伸展开可收缩起的窗口上的一个标题栏;S2:响应其中之一所述标题栏的鼠标点击输入,所述窗口逐渐伸展开,直至窗口内容全部展示;S3:响应该标题栏的鼠标的再次点击输入,所述窗口逐渐收缩起,直至窗口内容被所述标题栏覆盖。

【技术特征摘要】

【专利技术属性】
技术研发人员:高宇王虹辜鹏
申请(专利权)人:上海航天测控通信研究所
类型:发明
国别省市:上海;31

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

1