You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将通过removeWidget()从QStatusBar移除的部件重新添加回去?

解决QStatusBar移除部件后重新添加不显示的问题

问题核心是你调用show()的对象错误——文档中要求的是调用被添加部件自身的show(),而非状态栏的show()。

当执行removeWidget(ui->label)时,该部件仅被隐藏(调用了hide())并未被销毁。重新添加时,除了调用addWidget(),必须显式触发部件自身的显示:

ui->statusbar->addWidget(ui->label);
ui->statusbar->removeWidget(ui->label);
ui->statusbar->addWidget(ui->label);
ui->label->show(); // 调用label的show(),而非statusbar的show()

补充说明:如果是通过Qt Designer直接将label拖入状态栏,初始状态下label已是状态栏的子部件并处于显示状态。第一次调用removeWidget后它会被隐藏,后续重新添加时addWidget()不会自动恢复部件的显示状态,必须手动调用部件的show()。

内容的提问来源于stack exchange,提问作者big_0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:57:06