QToolBar 的 addPermanentWidget() 详解与实战场景
在 Qt 的工具栏(QToolBar
)开发中,addPermanentWidget()
是一个关键函数,用于添加始终可见的“永久部件”。与常规的 addWidget()
不同,它具有以下特性:
✨ 核心功能
位置固定
将部件添加到工具栏最右侧(在可伸缩间隔之后)。永不隐藏
即使工具栏空间不足触发溢出菜单(overflow menu),永久部件也始终可见,不会被收纳。
📝 函数原型
void QToolBar::addPermanentWidget(QWidget *widget, int stretch = 0);
widget
:要添加的部件(如按钮、标签等)。stretch
(可选):拉伸因子,控制部件在剩余空间中的占比(默认为0)。
💻 代码示例
// 创建工具栏
QToolBar *toolBar = new QToolBar("Main Toolbar", this);// 添加普通按钮(可能被折叠进溢出菜单)
toolBar->addWidget(new QPushButton("普通操作"));// 添加永久按钮(始终显示在右侧)
QPushButton *settingsBtn = new QPushButton("设置");
toolBar->addPermanentWidget(settingsBtn);
⚡ 典型应用场景
适合放置用户随时需要访问的关键功能,例如:
全局设置按钮(⚙️ 如“系统设置”)
状态指示器(🟢 在线状态、通知灯)
用户信息入口(👤 个人中心)
固定搜索框(🔍 工具栏内嵌搜索)
重要操作(如“帮助”、“退出”)
💡 设计意义:通过将高频/关键操作固定在可视区域,避免用户因溢出菜单折叠而迷失核心功能,提升操作效率与体验。