2011-12-07 203 views
2

如果/当用户最大化或取消最大化(浮动)QMainWindow,我需要一些C++代码才能触发仅限。如果需要的话,该程序仍然可以在没有这些额外的代码的情况下运行,但具有该功能肯定会有助于美学。基本上,如果窗口最大化,GUI中的主分离器应该为25%,如果未被最大化,则应该为50%。 (默认浮动窗口状态)Qt:QMainWindow最大化/最小化时触发代码

现在,用户需要手动拖动它,如果他们想要更多的空间,并且分离器一侧的大部分屏幕空间被浪费了,因为QSplitter要默认为50%,无论窗口大小。这很烦人,但它不会毁了你的一天,如果它发生。

我检查QMainWindow是否有一个插槽用于检查窗口的最大化状态,但据我所知没有。如何才能做到这一点?

回答

1

我不确定如何做到这一点,但您可能需要考虑从“最大化”切换到“还原下来”(反之亦然)并不能保证窗口大小的显着变化,如果用户在最大化之前已经把窗户拉得很大。如果您确实找到了接收这些事件的方法,那么在进行调整之前,您可能仍然希望检查实际的窗口大小。

您可能只想处理调整大小事件以进行调整,这将允许您处理用户手动拉伸或缩小窗口(以及最大化或恢复时)的情况。我不知道我会发现,行为用户满意然而所以也许提供它作为一个配置项:)