如何将 QWidget 添加到 QMenuBar?
Posted
技术标签:
【中文标题】如何将 QWidget 添加到 QMenuBar?【英文标题】:How to add a QWidget to a QMenuBar? 【发布时间】:2016-08-08 15:07:24 【问题描述】:我想将 QLabel 添加到 QMenuBar。我能够使用 QActionWidget 将 QLabel 添加到 QMenu,但我希望 QLabel 位于应用程序右端的 QMenuBar(作为 QMenu 的替代品)上。我打算在这个 QLabel 中添加一个电影,以模拟一个加载循环来指示应用程序正在运行。如何将 QWidget 添加到 QMenuBar,或者我的最终目标是否有其他选择?我正在使用 Qt 5.6 和 Qt Designer
【问题讨论】:
这不是便携式的,所以最好避免。在 Qt 运行的几乎所有环境中,它都会显得格格不入。QLabel
是否绝对有 成为QMenuBar
的一部分?如果不是,那么为什么不将QMenuBar
和QLabel
添加到相同的QHBoxLayout
中,并在两者之间添加一个“拉伸”。或者也许我错过了什么。
不,QLabel 不必是 QMenuBar 的一部分。我希望它始终位于我的应用程序的右上角。我似乎无法将 QMenuBar 和 QLabel 添加到 QHBoxLayout。甚至可能吗?我是在 Qt Designer 中而不是通过编程方式完成的
【参考方案1】:
可以使用QMenuBar::setCornerWidget 将小部件添加到菜单栏的末尾。
【讨论】:
这正是我想要的。谢谢你。我能够使用 QMovie::setScaledSize 更改 QMovie 的大小以上是关于如何将 QWidget 添加到 QMenuBar?的主要内容,如果未能解决你的问题,请参考以下文章