QMdiArea SubWindowView 覆盖
Posted
技术标签:
【中文标题】QMdiArea SubWindowView 覆盖【英文标题】:QMdiArea SubWindowView overriding 【发布时间】:2013-12-19 11:28:56 【问题描述】:我是一名初级软件工程师,我有一个想法,但我不知道如何实现它们。我想覆盖 QMdiArea 的 SubWindowView。其实我想混合 SubWindowView 和 TabbedView。例如,我想为 SubWindowView 提供 TabbedView 的一些功能。带有窗口名称的选项卡面板,当您单击某个选项卡窗口时,其名称显示在其他窗口上方。
【问题讨论】:
【参考方案1】:这是可能的。您需要在QMdiArea
之上添加QTabBar
并手动实现其行为(例如,在创建新窗口时添加新标签,并在请求关闭标签时关闭窗口)。
【讨论】:
这是个好主意,但是我的应用程序已经有按钮可以动态更改 QMdiArea 的视图模式,当窗口显示为选项卡时,我应该如何处理这个 QTabBar?有更好的解决方案吗?(感谢您的建议:)) 但也许我应该在每次更改 SudWindowView 上的视图模式时创建 QTab 栏,并在我更改选项卡视图上的视图模式时销毁它?只有一个问题:当我这样做时,QMdiArea 会改变她的大小吗? (QMdiArea 包含在 QVBoxLayout 中) 您可以在不需要时销毁或隐藏 QTabBar。如果您正确使用布局,QMdiArea 应该会填满所有可用空间。 我这样做了,但随后在 Layout 上添加 QTabBar,它会改变她的位置((知道如何解决这个问题吗?)以上是关于QMdiArea SubWindowView 覆盖的主要内容,如果未能解决你的问题,请参考以下文章
QMdiArea:第一个选项卡工作正常,第二个选项卡的内容太小