如何从 QMainWindow 中删除/隐藏所有工具栏?

Posted

技术标签:

【中文标题】如何从 QMainWindow 中删除/隐藏所有工具栏?【英文标题】:How can I remove/hide all toolbars from a QMainWindow? 【发布时间】:2011-06-07 09:03:18 【问题描述】:

我有一个第三方 QMainWindow,我需要将它嵌入到我自己的 QMainWindow 中(即将它用作普通小部件)。我知道这不是最佳做法(至少可以这么说),但我现在没有其他办法。

我需要隐藏第三方窗口的状态栏、菜单栏和工具栏。 我能够删除状态栏 (setStatusBar(0)) 和菜单栏 (setMenuBar(0)),但我找不到对工具栏区域执行相同操作的方法

有没有办法隐藏/删除工具栏?

【问题讨论】:

【参考方案1】:

我建议你获取StatusBar,MenuBar 的指针,然后对它们调用 hide()。

至于工具栏,你应该可以找到它们:

QList<QToolBar *> toolbars = mainWindow.findChildren<QToolBar *>();

然后为他们调用 hide()。

【讨论】:

谢谢。但是为什么statusBar()->hide()比setStatusBar(0)好呢?

以上是关于如何从 QMainWindow 中删除/隐藏所有工具栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何从QDialog刷新/更新/重绘QMainWindow?

如何从 QWidget 中删除 QPalette

如何隐藏 Qt 小部件应用程序菜单栏?

如何从自定义对话框工具栏属性页隐藏CMFCToolBar?

Qt5 QMainWindow 组件删除

如何从drupal 6中的视图中删除节点