CN108829390A - 一种软件主界面框架设计方法 - Google Patents

一种软件主界面框架设计方法 Download PDF

Info

Publication number
CN108829390A
CN108829390A CN201810329021.6A CN201810329021A CN108829390A CN 108829390 A CN108829390 A CN 108829390A CN 201810329021 A CN201810329021 A CN 201810329021A CN 108829390 A CN108829390 A CN 108829390A
Authority
CN
China
Prior art keywords
icon
region
dock
forms
main interface
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
Application number
CN201810329021.6A
Other languages
English (en)
Other versions
CN108829390B (zh
Inventor
周磊
陈宏君
张磊
徐睿
文继锋
刘坤
曾凯
熊蕙
刘克金
顾熹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201810329021.6A priority Critical patent/CN108829390B/zh
Publication of CN108829390A publication Critical patent/CN108829390A/zh
Application granted granted Critical
Publication of CN108829390B publication Critical patent/CN108829390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开一种软件主界面框架设计方法,主界面使用QT跨平台库开发,最外层主窗体继承自QDialog或QWidget,划分为横式排列的3个区域,界面的背景和样式通过QSS样式表配置,将主界面设计为包含如下3个区域:区域1:区域1继承自QWidget,是主框架的标题栏;区域2:区域2继承自QWidget,包括3个子部分,分别显示菜单栏、工具栏和软件Logo图标;区域3:区域3继承自QMainWindow,划分为竖式QSpliter和状态栏2个子部分,其中,竖式QSpliter管理5个子窗体,包括左侧工具栏、左侧停靠栏、中间容器、右侧停靠栏和右侧工具栏,中间容器又包括QWorkSpace窗体容器和底部停靠栏2个子部分。此种方法可实现标题栏、状态栏等可定制,停靠栏可方便显示、隐藏,各个子窗体的样式可定制。

Description

一种软件主界面框架设计方法
技术领域
本发明属于软件编程领域,特别涉及一种跨平台软件主界面框架设计方法。
背景技术
QT界面库作为跨平台软件开发的底层库,得到了广泛应用。通常使用QT的QMainWindow作为软件的最外层窗体,开发人员可添加菜单栏、图标栏、停靠栏、中间核心窗体、设置状态栏等。然而使用默认的QMainWindow仅能实现普通的窗体视觉效果,无法满足一些高级功能需求,例如:不能定值标题栏、无法实现停靠栏便捷的显示隐藏、无法实现中间窗体的可选伸缩功能等。界面的美观度和使用的便捷性方面存在不足。
为了解决上述问题,本发明人提出一种软件主界面框架设计方案,本案由此产生。
发明内容
本发明的目的,在于提供一种软件主界面框架设计方法,其可实现标题栏、状态栏等可定制,停靠栏可方便显示、隐藏,各个子窗体的样式可定制。
为了达成上述目的,本发明的解决方案是:
一种软件主界面框架设计方法,主界面使用QT跨平台库开发,最外层主窗体继承自QDialog或QWidget,划分为横式排列的3个区域,界面的背景和样式通过QSS样式表配置,将主界面框架设计为包含如下3个区域:
区域1:区域1继承自QWidget,是主框架的标题栏;
区域2:区域2继承自QWidget,包括3个子部分,分别显示菜单栏、工具栏和软件Logo图标;
区域3:区域3继承自QMainWindow,划分为竖式QSpliter和状态栏2个子部分,其中,竖式QSpliter管理5个子窗体,包括左侧工具栏、左侧停靠栏、中间容器、右侧停靠栏和右侧工具栏,中间容器又包括QWorkSpace窗体容器和底部停靠栏2个子部分。
上述区域2中,菜单栏和工具栏先通过QVBoxLayout对齐,合成为1个整体后,再通过QHBoxLayout和软件Logo图标窗体对齐,使用QLabel绘制显示软件Logo图标。
上述区域3中,左侧工具栏包含1个向右箭头的图标,点击该图标,显示左侧停靠栏;左侧停靠栏右上角有1个向左箭头的图标,点击该图标,隐藏左侧停靠栏;右侧工具栏包含1个向左箭头的图标,点击该图标,显示右侧停靠栏;右侧停靠栏右上角有1个向右箭头的图标,点击该图标,隐藏右侧停靠栏隐藏;底部停靠栏右上角有1个向下箭头的图标,点击该图标,将底部停靠栏缩小为1行,并在右上角显示1个向上箭头的图标,点击该图标,复原底部停靠栏。
上述区域3中,QWorkSpace管理的窗体均继承自QWidget,窗体基类有最大化、复原图标,点击最大化图标,则隐藏左侧、右侧、底部停靠栏,中间容器的窗体自适应扩大边界;点击复原图标,则显示左侧、右侧、底部停靠栏,恢复默认大小。
上述状态栏加载若干QPushButton,当区域3的QWorkspace新加入1个窗体时,在状态栏创建1个新的QPushButton,并显示该窗体的名称,点击状态栏上的QPushButton,则在QWorkSpace中将关联的窗体作为当前窗体前置显示;当QWorkSpace打开的窗体数量超过一定的数目时,状态栏改为显示QPushBttonGroup,按照窗体类型进行分组,相同类的窗体实例划分为1组。
上述主界面的各区域以及其子部分的默认背景色、得到/失去焦点的背景色、Layout的边框通过QSS样式表配置,通过加载不同的QSS表实现界面换肤功能。
采用上述方案后,本发明设计的软件主框架的顶层窗体QWidget由区域1、区域2、区域3组成,3个区域使用QVBoxLayout竖式对齐。其中区域1为主标题窗体,显示软件名字和当前打开的工程名称。区域2包括菜单栏、工具栏、软件LOGO窗体。区域3为QMainWindow,由QSpliter和状态栏组成。使用QSpliter作为中心窗体,依次竖式管理左侧工具栏、左侧停靠窗体、中间界面容器、右侧停靠窗体、右侧工具栏。中间界面容器分两个子区域,包括QWorkSpace工作空间、底部停靠窗体,使用横式排列。QWorkSpace用于管理各中子界面。整个软件的配色使用QSS的层次样式表设计,通过分层主界面框架,实现新型自定义软件界面风格。
本发明具有如下有益效果:实现了基于QT开发的软件主框架的自适应伸缩功能,通过QSS样式实现软件各个子区域风格、背景的可定制美化设置,实现了若干便捷的显示、隐藏,关联打开的便捷功能,提高了软件的操作方便性、界面美观度。
附图说明
图1是本发明实现的软件主界面框架示意图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
如图1所示,本发明提供一种软件主界面框架设计方法,主界面使用QT跨平台库开发,最外层主窗体继承自QDialog或QWidget,划分为横式排列的3个区域,界面的背景和样式通过QSS样式表可配置,设计的软件主界面框架包括如下:
a)区域1:区域1继承自QWidget,是主框架的标题栏;
b)区域2:区域2继承自QWidget,包括3个子部分,分别显示菜单栏、工具栏、软件Logo图标;菜单栏、工具栏先通过QVBoxLayout对齐,合成为1个整体后,再通过QHBoxLayout和软件Logo图标窗体对齐,使用QLabel绘制显示软件Logo图标。
c)区域3:区域3继承自QMainWindow,划分为2个子部分,由竖式QSpliter(区域31)和状态栏(区域32)组成;其中,竖式QSpliter管理5个子窗体,包括左侧工具栏(区域311)、左侧停靠栏(区域312)、中间容器(区域313)、右侧停靠栏(区域314)和右侧工具栏(区域315),中间容器(区域313)又细分为2个子部分,包括QWorkSpace窗体容器(区域3131)和底部停靠栏(区域3132)。
所述的区域3中,左侧工具栏包含1个向右箭头的图标,点击该图标,可显示左侧停靠栏;左侧停靠栏右上角有1个向左箭头的图标,点击该图标,可隐藏左侧停靠栏。右侧工具栏包含1个向左箭头的图标,点击该图标,可显示右侧停靠栏;右侧停靠栏右上角有1个向右箭头的图标,点击该图标,可隐藏右侧停靠栏隐藏。底部停靠栏右上角有1个向下箭头的图标,点击该图标,可将底部停靠栏缩小为1行(隐藏内部的子窗体),并在右上角显示1个向上箭头的图标,点击该图标,可复原底部停靠栏(显示内部的子窗体)。所述的区域3中,QWorkSpace管理的窗体均继承自QWidget,窗体基类有最大化、复原图标,点击最大化图标,则隐藏左侧、右侧、底部停靠栏,中间容器的窗体自适应扩大边界;点击复原图标,则显示左侧、右侧、底部停靠栏,恢复默认大小。上述功能通过各个图标按钮响应鼠标的点击事件,通过QT的signal-slot机制编写对应的响应函数实现。
所述的状态栏加载若干QPushButton,当区域3的QWorkspace新加入1个窗体时,在状态栏创建1个新的QPushButton,并显示该窗体的名称,点击状态栏上的QPushButton,可在QWorkSpace中将关联的窗体作为当前窗体前置显示。当QWorkSpace打开的窗体数量超过一定的数目时(默认20个,可设置),状态栏改为显示QPushBttonGroup,按照窗体类型进行分组,相同类的窗体实例划分为1组,点击QPushButtonGroup,显示子菜单,列出同类型窗体实例,点击子菜单条目,在QWorkSpace窗体容器中前置显示该窗体。
主界面的各个区域、子区域的默认背景色、得到/失去焦点的背景色、Layout的边框等通过QSS样式表可配置,可加载不同的QSS表,实现界面换肤功能。优选地,QSS样式表可定义如下:
通过细化定义各个子部件的样式,可设置对应的背景色、边框等。在main函数中调用qApp->setStyleSheet(styleSheet)加载对应的样式表文件。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (6)

1.一种软件主界面框架设计方法,其特征在于:主界面使用QT跨平台库开发,最外层主窗体继承自QDialog或QWidget,划分为横式排列的3个区域,界面的背景和样式通过QSS样式表配置,将主界面设计为包含如下3个区域:
区域1:区域1继承自QWidget,是主框架的标题栏;
区域2:区域2继承自QWidget,包括3个子部分,分别显示菜单栏、工具栏和软件Logo图标;
区域3:区域3继承自QMainWindow,划分为竖式QSpliter和状态栏2个子部分,其中,竖式QSpliter管理5个子窗体,包括左侧工具栏、左侧停靠栏、中间容器、右侧停靠栏和右侧工具栏,中间容器又包括QWorkSpace窗体容器和底部停靠栏2个子部分。
2.如权利要求1所述的一种软件主界面框架设计方法,其特征在于:所述区域2中,菜单栏和工具栏先通过QVBoxLayout对齐,合成为1个整体后,再通过QHBoxLayout和软件Logo图标窗体对齐,使用QLabel绘制显示软件Logo图标。
3.如权利要求1所述的一种软件主界面框架设计方法,其特征在于:所述区域3中,左侧工具栏包含1个向右箭头的图标,点击该图标,显示左侧停靠栏;左侧停靠栏右上角有1个向左箭头的图标,点击该图标,隐藏左侧停靠栏;右侧工具栏包含1个向左箭头的图标,点击该图标,显示右侧停靠栏;右侧停靠栏右上角有1个向右箭头的图标,点击该图标,隐藏右侧停靠栏隐藏;底部停靠栏右上角有1个向下箭头的图标,点击该图标,将底部停靠栏缩小为1行,并在右上角显示1个向上箭头的图标,点击该图标,复原底部停靠栏。
4.如权利要求1所述的一种软件主界面框架设计方法,其特征在于:所述区域3中,QWorkSpace管理的窗体均继承自QWidget,窗体基类有最大化、复原图标,点击最大化图标,则隐藏左侧、右侧、底部停靠栏,中间容器的窗体自适应扩大边界;点击复原图标,则显示左侧、右侧、底部停靠栏,恢复默认大小。
5.如权利要求1所述的一种软件主界面框架设计方法,其特征在于:所述状态栏加载若干QPushButton,当区域3的QWorkspace新加入1个窗体时,在状态栏创建1个新的QPushButton,并显示该窗体的名称,点击状态栏上的QPushButton,则在QWorkSpace中将关联的窗体作为当前窗体前置显示;当QWorkSpace打开的窗体数量超过一定的数目时,状态栏改为显示QPushBttonGroup,按照窗体类型进行分组,相同类的窗体实例划分为1组。
6.如权利要求1所述的一种软件主界面框架设计方法,其特征在于:所述主界面的各区域以及其子部分的默认背景色、得到/失去焦点的背景色、Layout的边框通过QSS样式表配置,通过加载不同的QSS表实现界面换肤功能。
CN201810329021.6A 2018-04-13 2018-04-13 一种软件主界面框架设计方法 Active CN108829390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810329021.6A CN108829390B (zh) 2018-04-13 2018-04-13 一种软件主界面框架设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810329021.6A CN108829390B (zh) 2018-04-13 2018-04-13 一种软件主界面框架设计方法

Publications (2)

Publication Number Publication Date
CN108829390A true CN108829390A (zh) 2018-11-16
CN108829390B CN108829390B (zh) 2022-01-14

Family

ID=64155433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810329021.6A Active CN108829390B (zh) 2018-04-13 2018-04-13 一种软件主界面框架设计方法

Country Status (1)

Country Link
CN (1) CN108829390B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780962A (zh) * 2019-10-15 2020-02-11 四川长虹电器股份有限公司 X窗口管理器中应用窗口标题栏和窗口控件显示的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306085A (zh) * 2011-09-22 2012-01-04 王金堃 多区域的浏览器和操控方法
US20160092336A1 (en) * 2014-09-29 2016-03-31 Radu-Florian Atanasiu Code analysis for cloud-based integrated development environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306085A (zh) * 2011-09-22 2012-01-04 王金堃 多区域的浏览器和操控方法
US20160092336A1 (en) * 2014-09-29 2016-03-31 Radu-Florian Atanasiu Code analysis for cloud-based integrated development environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
霍亚飞: "《Qt Creator快速入门(第3版)》", 31 January 2017, 北京航空航天大学出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780962A (zh) * 2019-10-15 2020-02-11 四川长虹电器股份有限公司 X窗口管理器中应用窗口标题栏和窗口控件显示的方法
CN110780962B (zh) * 2019-10-15 2022-02-01 四川长虹电器股份有限公司 X窗口管理器中应用窗口标题栏和窗口控件显示的方法

Also Published As

Publication number Publication date
CN108829390B (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
US10691883B2 (en) Infinite canvas
Matejka et al. Patina: Dynamic heatmaps for visualizing application usage
US20220147701A1 (en) Extended data grid components with multi-level navigation
TWI509495B (zh) 視窗佈局動態調整系統及方法
CN105938430B (zh) 一种信息展示装置及方法
US9703443B2 (en) Method and system for creating a free-form visual user interface element
CN111881662A (zh) 表单生成方法、装置、处理设备及存储介质
US10210150B2 (en) Grid-based user interface system
CN107391656B (zh) 基于蒙版的web表单设计方法
US20170352174A1 (en) Method and system for visual data management
CN107402729A (zh) 打印模板构建方法及模板打印方法
CN104182225A (zh) 一种通用移动信息系统适配方法与装置
CN110162342A (zh) 实现页面可配置的方法
CN109254770A (zh) 图形化编程平台下的自定义按钮样式的方法及电子设备
CN104182226B (zh) 一种通用移动信息系统适配方法与装置
CN111783405A (zh) 在线文档处理方法、装置、计算机设备和存储介质
CN108829390A (zh) 一种软件主界面框架设计方法
CN109543171A (zh) 一种键盘录入和手写签批的电子表单实现方法及系统
CN106776509A (zh) 一种电子表单生成方法及装置
Adams Fon Appliqued Cloths
KR101966177B1 (ko) 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
Dostál et al. Fine-grained adaptive user interface for personalization of a word processor: principles and a preliminary study
CN104503669A (zh) 一种界面组件及其产生方法
CN100573447C (zh) 图形用户界面的组态方法
US20080180413A1 (en) Method, system, and program product for controlling grid lines in a user interface

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