10 布局管理
约 862 字大约 3 分钟
2025-06-22
可以将一组需要布局管理的组件放在一个容器组件中,这样,当容器大小变化时,里面的组件也会自动变化。
水平布局
layoutStretch:0,0,0,表示3个组件平均分配宽度 layoutStretch:0,0,1,表示前两个组件达到合适宽度后不再增加宽度,其余的空间都分配给第三个组件 layoutStretch:1,1,2,表示前两个组件达到合适宽度后将尽量满足1:1:2的比例。
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menubar)多个工具栏(toolbars)、多个锚接部件(dockwidgets)、一个状态栏(statusbar)及一个中心部件(centralwidget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
菜单栏
一个页面中菜单栏只有一个
创建 菜单栏需要手动创建 使用
menuBar,返回指向菜单栏的指针显示 使用
setMenuBar显示菜单栏 如果里面没有菜单则不显示添加元素 因为菜单只能出现在菜单栏所以无法单独创建 需要调用menuBar类的
addMenu创建并添加进去返回指向菜单的QMenu指针创建菜单项 一个菜单有多个选项, 通过调用QMenu菜单类中的
addAction在当前菜单中添加菜单项
分割线 在一个菜单中有多个菜单项,其中有的菜单项属于同一组,可以使用分割线与其他属的菜单项分隔开 addSeparator
工具栏
可以有多个
创建工具栏 通过
QToolBar构造函数创建工具栏显示 通过调用
addToolBar添加到当前窗口中,默认是停靠在顶部菜单栏下面的,可以调用它的重载函数添加Qt枚举值参数设置停靠位置 如:addToolBar(Qt::LeftToolBarArea,toolbar)使工具栏停靠在左侧
限制停靠范围 使用其成员函数setAllowArea使用枚举值参数设置限制的停靠范围,如果有多个区域需要设置各枚举值使用 | 隔开 如果吧工具栏拖到了不允许的停靠范围, 工具栏就会浮动地停靠在那里
设置浮动 可以使用setFloatable设置是否浮动
设置移动 使用setMovable设置是否可移动
工具栏中也可以添加分割线
添加控件 工具栏中也可以添加控件 ,使用addWidget函数
状态栏
一个窗口最多有一个
显示 状态栏本身就存在只不过是被隐藏了 可以使用指针接收
statusBar返回的状态栏指针来操作状态栏 使用setStatusBar将状态栏设置到窗口中添加元素
addWidget往状态栏左边添加元素addPermanentWidget往状态栏右边添加元素
铆接部件 ( 浮动窗口 )
创建 使用构造函数
QDockWidget创建添加 使用
addDockWidget将铆接固件添加到当前窗口中 可以设置停靠区域, 浮动窗口是围绕着核心的,如果没有指定核心设置停靠区域可能会出现与预期不符的情况设置核心 使用
setCentralWidget设置核心 核心只能有一个,如:word中核心可能就是中间编辑的文本框
贡献者
版权所有
版权归属:wynnsimon
