CN109766094A - 一种停靠式布局窗口框架创建方法 - Google Patents
一种停靠式布局窗口框架创建方法 Download PDFInfo
- Publication number
- CN109766094A CN109766094A CN201811376166.8A CN201811376166A CN109766094A CN 109766094 A CN109766094 A CN 109766094A CN 201811376166 A CN201811376166 A CN 201811376166A CN 109766094 A CN109766094 A CN 109766094A
- Authority
- CN
- China
- Prior art keywords
- workspace
- window
- container
- overlapping
- added
- 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.)
- Withdrawn
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
一种停靠式布局窗口框架创建方法,包括以下步骤:创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器;创建并初始化主窗口;创建并初始化工作区,将所述工作区添加到所述第一重叠工作区窗口,且将所述主窗口设置为所述工作区的内容窗口;创建子工作区容器,将所述子工作容器设置为所述主窗口的内容窗口;创建工具栏工作区,并添加到所述子工作区容器;创建菜单,并将其设为所述主窗口的默认菜单;创建并初始化用户工作区和第二重叠工作区窗口,将所述用户工作区添加到所述第二重叠工作区窗口中,并将所述重叠工作区窗口添加到所述子工作区容器;加载皮肤并显示所述主窗口。
Description
技术领域
本发明涉及计算机图形化界面技术领域,特别是涉及计算机图形化界面的窗口框架。
背景技术
Qt框架是一个跨平台的C++图形用户界面应用程序开发框架。基于Qt的QDockWidget是布局窗口的一种实现方式,Qt的嵌套布局由QDockWidget完成,但是可以通过拖拽得到的布局界面(简称Dock布局)形式比较固定,不能得到想要的任意组合形式。虽然也可以通过编码实现复杂的界面组合,但拖拽操作不能恢复原本的窗口布局形式,不灵活。相比较Qt的QDockWidget,目前具有Dock布局功能的以下几种界面库具有不足之处:
1.MFC,2010及以上版本的VC库支持的比较完善,基本支持各种Dock功能,但是不能跨平台,而且不能隐藏用户工作区;
2.BCGControlBar,其基于MFC,与MFC相比增加了皮肤功能,但是需要购买后使用;
3.Xtreme Toolkit Pro,其基于MFC,支持皮肤和隐藏用户工作区,但也是需要购买后使用;
4.DockPanel Suite,是基于C# Winform的,跨平台使用不稳定,不支持隐藏用户工作区;
5.AvalonDock - Home,其基于WPF,不支持隐藏用户工作区;
6.wxWidgets,不支持可停靠窗口重叠,不支持自动隐藏,不支持拖动时箭头引导,不支持隐藏用户工作区。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种停靠式布局窗口框架的创建方法,可以支持跨平台、隐藏客户区以及其他功能,能够随意进行窗口的组合、嵌套。
为实现上述目的,本发明提供的停靠式布局窗口框架的创建方法,包括以下步骤:
创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器;
创建主窗口;
创建工作区,并将所述工作区添加到所述第一重叠工作区窗口,且将所述主窗口设置为所述工作区的内容窗口;
创建子工作区容器,将所述子工作容器设置为所述主窗口的内容窗口;
创建工具栏工作区,并添加到所述子工作区容器;
创建菜单,并将其设为所述主窗口的默认菜单;
创建用户工作区和第二重叠工作区窗口,将所述用户工作区添加到所述第二重叠工作区窗口中,并将所述重叠工作区窗口添加到所述子工作区容器,以填充所有第一重叠工作区窗口;
加载皮肤并显示所述主窗口。
进一步地,所述创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器的步骤,进一步包括:
预先设定添加到所述顶层工作区容器的所述第一重叠工作区窗口的数目、位置以及窗口大小。
进一步地,
在创建所述主窗口、所述工作区以及所述用户工作区后对所述主窗口、所述工作区以及所述用户工作区进行初始化;
初始化所述主窗口、所述工作区以及所述用户工作区的窗口层功能,且分别初始化第0层可视化主窗口、第0层可视化工作区窗口以及第0层可视化用户工作区窗口。
进一步地,还包括步骤:
调整所述用户工作区。
进一步地,所述调整所述用户工作区的步骤,进一步包括:
对所述用户工作区进行拖动;
显示拖动提示符号;
将所拖动的所述用户工作区移动到提示符号上,按照预先规定的规则进行布局调整。
进一步地,所述加载皮肤并显示所述主窗口的步骤,进一步包括:
加载Dock布局窗口的皮肤系统,显示默认或者预设皮肤。
更进一步地,在所述工具栏工作区中添加隐藏功能栏。
本发明,通过顶层工作区容器CA、重叠工作区窗口TA、主窗口M、创建工作区WA、子工作区容器CB、用户工作区W_User以及重叠工作区窗口TB的相互嵌套与组合,能够组合成任何自定义窗口布局效果,并且窗口都具有隐藏功能。
本发明,通过拖拽用户工作区窗口,智能显示拖动提示,可直观、方便的放入指定重叠工作区域,同时也可以支持调整工具栏工作区,实现工具栏任意位置的放置。智能拖动提示符包含了重叠、上、下、左、右、父上、父下、父左、父右、上边缘、下边缘、左边缘、右边缘等13种提示,并根据具体窗口布局,激活或禁用部分放置方式。
本发明,将主窗口M、工作区WA以及用户工作区W_User中设置为第0层,另外,在默认情况下,该主窗口M、工作区WA、以及用户工作区W_User的子窗口、菜单、内容窗口以及其它控件,都处于第0层。因此,能够通过增加层来添加新的内容,并且通过切换层,来快速变更显示内容。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的停靠式布局窗口框架创建方法流程图;
图2为根据本发明的停靠式布局窗口框架工作区窗口示意图;
图3为根据本发明的停靠式布局窗口框架重叠工作区窗口示意图;
图4为根据本发明的停靠式布局窗口框架容器窗口示意图;
图5为根据本发明的停靠式布局窗口框架主窗口示意图;
图6为根据本发明的停靠式布局窗口框架显示效果示意图;
图7为根据本发明的停靠式布局窗口框架拖动过程中显示效果示意图;
图8为根据本发明的停靠式布局窗口框架拖动提示符号放置规则示意图。
具体实施例
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明的停靠式布局窗口框架,包含如下内容:工作区容器(Container),重叠工作区窗口(TabbedWindow),主窗口(MainWindow),工作区面板(WorkPanel),箭头提示区域,窗口管理区域等,
停靠式布局窗口框架的实现包括:
创建顶层工作区容器CA,并创建重叠工作区窗口TA,再将TA添加到容器CA中;
创建主窗口M,并初始化主窗口内部的可视化窗口M_V;
创建工作区WA,并初始化工作区内部的可视化窗口WA_V,将工作区WA添加到TA窗口。将主窗口M设置为WA_V的内容窗口;
创建子工作区容器CB,将容器CB设置为窗口M_V的内容窗口;
创建工具栏工作区W_ToolBar,并添加到容器CB中;
创建菜单,设置为窗口WA_V的默认菜单;
创建用户工作区W_User,并初始化工作区内部的可视化窗口。创建重叠工作区窗口TB,将W_User添加到窗口TB中,并将TB添加到容器CB中;
加载Dock布局窗口的皮肤系统,显示(使用)默认或者预设皮肤;
显示主窗口M;
拖动工作区,调整布局。
图1为根据本发明的停靠式布局窗口框架创建方法流程图,下面将参考图1,对本发明的停靠式布局窗口框架创建方法进行详细描述。
首先,在步骤101,创建空的顶层工作区容器CA和第一重叠工作区窗口TA,并将第一重叠工作区窗口TA添加到顶层工作区容器CA中。
在步骤102,创建主窗口M,并进行初始化。具体地,初始化主窗口M的窗口层功能,且初始化第0层可视化主窗口M_V。
在步骤103,创建工作区WA,并进行初始化,将工作区WA添加到第一重叠工作区窗口TA中。具体地,创建工作区WA;初始化工作区WA的窗口层功能;初始化第0层可视化工作区窗口WA_V;
在步骤104,将主窗口M设置为工作区WA的内容窗口,即将主窗口M设置为第0层可视化工作区窗口WA_V的内容窗口。
在步骤105,创建子工作区容器CB,将子工作容器CB设置为主窗口M的内容窗口。具体地,将子工作区容器CB设置为主窗口M中第0层可视化窗口M_V的内容窗口。
在步骤106,创建工具栏工作区W_ToolBar,并添加到子工作区容器CB中。在步骤105中,在工具栏工作区中添加隐藏功能栏。
在步骤107,创建菜单,并将其设置为主窗口M中第0层可视化工作区窗口WA_V的默认菜单。
在步骤108,创建用户工作区W_User1,并进行初始化。具体地,初始化用户工作区W_User1内部窗口层功能,初始化第0层可视化用户工作区窗口。
在步骤109,创建第二重叠工作区窗口TB,并将其添加到子工作区容器CB中;将用户工作区W_User1添加到第二重叠工作区窗口TB中。
在步骤110,具体地,加载Dock布局窗口的皮肤系统,显示默认或者预设皮肤。皮肤文件支持CSS语法。
在步骤111,显示主窗口M。
在步骤112,拖动工作区,调整布局。
图2为根据本发明的停靠式布局窗口框架工作区窗口示意图,如图2所示,本发明的停靠式布局窗口框架工作区窗口中,包括工作区1。
图3为根据本发明的停靠式布局窗口框架重叠工作区窗口示意图,如图3所示,第一重叠工作区初始状态为空,在第一重叠工作区窗口中包括有工作区3和工作区4。
图4为根据本发明的停靠式布局窗口框架容器窗口示意图,如图4所示,子工作容器CB设置为主窗口M的内容窗口。
图5为根据本发明的停靠式布局窗口框架主窗口示意图,如图5所示,上部的顶层工作区容器CA为空,下部主窗口包括工具栏、多个工作区以及多个重叠工作区窗口。
图6为根据本发明的停靠式布局窗口框架显示效果示意图,如图6所示,本发明的停靠式布局窗口框架,包括有菜单栏、工具栏、多个工作区,以及多个工作区窗口等。
图7为根据本发明的停靠式布局窗口框架拖动过程中显示效果示意图,图8为根据本发明的停靠式布局窗口框架拖动提示符号放置规则示意图,如图7和8所示,对某一个用户工作区W_User进行拖动,以选取要拖动的当前重叠工作区窗口TB,并显示拖动提示符号;在用户工作区W_User移动到所要布置的提示符号上时,该提示符号高亮显示;按照事先设定的规则进行布局调整。其中,该提示符号可以是数字,也可以是字母。该提示符号的显示方式以及布局的规则,可以按照需要事先进行设定,但不限于此。在其它实施例中,也可以调整工具栏工作区。
根据本实施例,顶层工作区容器CA、重叠工作区窗口TA、主窗口M、创建工作区WA、子工作区容器CB、用户工作区W_User以及重叠工作区窗口TB的相互嵌套与组合。因此,能够组合成任何自定义窗口布局效果,并且窗口都具有隐藏功能。
根据本实施例,重叠工作区窗口TA、TB和主窗口M支持定义标题栏,同时支持隐藏标题栏功能,外还支持隐藏现有的标题栏按钮,并且支持添加用户自定义内容。
在步骤111,调整用户工作区。在步骤111中,
在步骤105之前,重复步骤101至步骤104,以添加不同的层。
根据其它实施例,通过拖拽用户工作区窗口,智能显示拖动提示,可直观、方便的放入指定重叠工作区域,同时也可以支持调整工具栏工作区,实现工具栏任意位置的放置。智能拖动提示符包含了重叠、上、下、左、右、父上、父下、父左、父右、上边缘、下边缘、左边缘、右边缘等13种提示,并根据具体窗口布局,激活或禁用部分放置方式。
将主窗口M、工作区WA以及用户工作区W_User中设置为第0层,另外,在默认情况下,该主窗口M、工作区WA、以及用户工作区W_User的子窗口、菜单、内容窗口以及其它控件,都处于第0层。因此,能够通过增加层来添加新的内容,并且通过切换层,来快速变更显示内容。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种停靠式布局窗口框架创建方法,其特征在于,包括以下步骤:
创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器;
创建并初始化主窗口;
创建并初始化工作区,将所述工作区添加到所述第一重叠工作区窗口,且将所述主窗口设置为所述工作区的内容窗口;
创建子工作区容器,将所述子工作容器设置为所述主窗口的内容窗口;
创建工具栏工作区,并添加到所述子工作区容器;
创建菜单,并将其设为所述主窗口的默认菜单;
创建并初始化用户工作区和第二重叠工作区窗口,将所述用户工作区添加到所述第二重叠工作区窗口中,并将所述重叠工作区窗口添加到所述子工作区容器;
加载皮肤并显示所述主窗口。
2.根据权利要求1所述的停靠式布局窗口框架创建方法,其特征在于,所述创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器的步骤,进一步包括:
预先设定添加到所述顶层工作区容器的所述第一重叠工作区窗口的数目、位置以及窗口大小。
3.根据权利要求1所述的停靠式布局窗口框架创建方法,其特征在于,
所述初始化所述主窗口、所述工作区以及初始化所述用户工作区,分别是初始化第0层可视化主窗口、第0层可视化工作区窗口以及第0层可视化用户工作区窗口。
4.根据权利要求1所述的停靠式布局窗口框架创建方法,其特征在于,还包括步骤:
调整所述用户工作区。
5.根据权利要求4所述的停靠式布局窗口框架创建方法,其特征在于,所述调整所述用户工作区的步骤,进一步包括:
对所述用户工作区进行拖动;
显示拖动提示符号;
将所拖动的所述用户工作区移动到提示符号上,按照预先规定的规则进行布局调整。
6.根据权利要求1至5中任一项所述的停靠式布局窗口框架创建方法,其特征在于,所述加载皮肤并显示所述主窗口的步骤,进一步包括:
加载Dock布局窗口的皮肤系统,显示默认或者预设皮肤。
7.根据权利要求1至5中任一项所述的停靠式布局窗口框架创建方法,其特征在于,进一步包括,在所述工具栏工作区中添加隐藏功能栏。
8.一种停靠式布局窗口框架,其特征在于,包括,顶层工作区容器、第一重叠工作区窗口、主窗口、工作区、子工作区容器、工具栏工作区、菜单、用户工作区、第二重叠区窗口,其中,
所述第一重叠工作区窗口位于所述顶层工作区容器中;
所述工作区位于所述第一重叠工作区窗口中;
所述主窗口为所述工作区的内容窗口;
所述子工作容器为所述主窗口的内容窗口;
所述工具栏工作区位于所述子工作区容器中;
所述菜单,为所述主窗口的默认菜单;
所述用户工作区位于所述第二重叠工作区窗口中;
所述第二重叠工作区窗口位于所述子工作区容器中。
9.一种存储有计算机程序的计算机可读媒介,其特征在于,由处理器执行所述计算机程序,以实现以下步骤:
创建空的顶层工作区容器和第一重叠工作区窗口,并将所述第一重叠工作区窗口添加到所述顶层工作区容器;
创建主窗口;
创建工作区,并将所述工作区添加到所述第一重叠工作区窗口,且将所述主窗口设置为所述工作区的内容窗口;
创建子工作区容器,将所述子工作容器设置为所述主窗口的内容窗口;
创建工具栏工作区,并添加到所述子工作区容器;
创建菜单,并将其设为所述主窗口的默认菜单;
创建用户工作区和第二重叠工作区窗口,将所述用户工作区添加到所述第二重叠工作区窗口中,并将所述重叠工作区窗口添加到所述子工作区容器;
加载皮肤并显示所述主窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376166.8A CN109766094A (zh) | 2018-11-19 | 2018-11-19 | 一种停靠式布局窗口框架创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376166.8A CN109766094A (zh) | 2018-11-19 | 2018-11-19 | 一种停靠式布局窗口框架创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766094A true CN109766094A (zh) | 2019-05-17 |
Family
ID=66450169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811376166.8A Withdrawn CN109766094A (zh) | 2018-11-19 | 2018-11-19 | 一种停靠式布局窗口框架创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766094A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020175948A1 (en) * | 2001-05-23 | 2002-11-28 | Nielsen Eric W. | Graphical user interface method and apparatus for interaction with finite element analysis applications |
US20040268269A1 (en) * | 2001-08-02 | 2004-12-30 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
CN1828516A (zh) * | 2005-03-04 | 2006-09-06 | 佳能株式会社 | 布局控制装置和布局控制方法 |
CN102243559A (zh) * | 2010-05-13 | 2011-11-16 | 成都索贝数码科技股份有限公司 | 一种用图形界面进行媒体资产管理的方法及系统 |
CN103092627A (zh) * | 2013-02-06 | 2013-05-08 | 青岛旲天下智能科技有限公司 | 一种新型用户界面 |
CN104657034A (zh) * | 2013-11-15 | 2015-05-27 | 永明科技顾问股份有限公司 | 窗口布局动态调整系统及方法 |
CN105912314A (zh) * | 2015-12-28 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 用户界面控件的布局方法及系统、控制方法及系统 |
-
2018
- 2018-11-19 CN CN201811376166.8A patent/CN109766094A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020175948A1 (en) * | 2001-05-23 | 2002-11-28 | Nielsen Eric W. | Graphical user interface method and apparatus for interaction with finite element analysis applications |
US20040268269A1 (en) * | 2001-08-02 | 2004-12-30 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
CN1828516A (zh) * | 2005-03-04 | 2006-09-06 | 佳能株式会社 | 布局控制装置和布局控制方法 |
CN102243559A (zh) * | 2010-05-13 | 2011-11-16 | 成都索贝数码科技股份有限公司 | 一种用图形界面进行媒体资产管理的方法及系统 |
CN103092627A (zh) * | 2013-02-06 | 2013-05-08 | 青岛旲天下智能科技有限公司 | 一种新型用户界面 |
CN104657034A (zh) * | 2013-11-15 | 2015-05-27 | 永明科技顾问股份有限公司 | 窗口布局动态调整系统及方法 |
CN105912314A (zh) * | 2015-12-28 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 用户界面控件的布局方法及系统、控制方法及系统 |
Non-Patent Citations (8)
Title |
---|
SLIENTMAN: "基于QT的换肤整体解决方案(QSkinStyle) https://blog.csdn.net/slientman/article/details/5618950", 《CSDN》 * |
XZCFIGHTINGUP: "MFC自绘框架窗口客户区 https://www.cnblogs.com/xzcfightingup/p/6008823.html", 《博客园》 * |
后知后觉900429: "Visual Studio 怎么更改资源管理器的停靠位置 https://jingyan.baidu.com/article/e75aca8572687b142edac6d5.html", 《百度经验》 * |
尘中远: "QDockWidget嵌套布局详解-实现Visual Studio布局 https://blog.csdn.net/czyt1988/article/details/51209619", 《CSDN》 * |
梦在旅途: "分享在winform下实现左右布局多窗口界面 https://www.cnblogs.com/zuowj/p/5092038.html", 《博客园》 * |
浪客倩心: "6 基础窗口和窗口容器 https://www.cnblogs.com/biyou/archive/2013/04/12/3016021.html", 《博客园》 * |
邓海生等: "《Java程序设计案例教程》", 30 September 2018 * |
饭特稀特别稀: "Qt 实现进程间窗口嵌套(一) https://blog.csdn.net/an505479313/article/details/78186313", 《CSDN》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0951669B1 (en) | Graphics system and method having objects conformed to a template | |
AU2014349834B2 (en) | Navigable layering of viewable areas for hierarchical content | |
US9881404B2 (en) | Manipulating graphical objects | |
JP5977334B2 (ja) | タッチ対応のコマンド実行のためのコンパクトなコントロールメニュー | |
US9182879B2 (en) | Immersive interaction model interpretation | |
EP2732365B1 (en) | Dynamic context based menus | |
CN102362248B (zh) | 双屏幕便携式触敏计算系统 | |
US9787752B2 (en) | Hotspot editor for a user interface | |
EP2748738B1 (en) | Method of creating a snap point in a computer-aided design system | |
US20120246565A1 (en) | Graphical user interface for displaying thumbnail images with filtering and editing functions | |
US11061529B2 (en) | Generating contextual guides | |
US10222970B2 (en) | Selecting and performing contextual actions via user interface objects | |
KR19990062562A (ko) | 접근 포인터를 갖는 컴퓨터 디스플레이 상에서다수의 그래픽사용자 인터페이스 구성 요소를 조작하는컴퓨터 시스템 및 방법 | |
WO1996010231A1 (en) | System and method for generating graphics charts | |
US9268477B2 (en) | Providing contextual menus | |
CN108205744A (zh) | 工作流流程表单的实现方法及装置 | |
JP2011128962A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
US20160086584A1 (en) | Pop-up display device | |
US20120182205A1 (en) | Context driven heads-up display for efficient window interaction | |
WO2015096598A1 (zh) | 页面内容选取方法及系统 | |
CN109766094A (zh) | 一种停靠式布局窗口框架创建方法 | |
CN107315724A (zh) | 一种基于actionscript的树形表格控件 | |
US20230350545A1 (en) | Command display control method, computer-readable medium and apparatus | |
US20230215064A1 (en) | Automatic layer flattening with real-time visual depiction | |
KR101462419B1 (ko) | 벡터 도형을 드로잉하기 위한 단말기 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190517 |