QMainWindow设置frameSize

rwa*_*ace 4 qt qt4

你如何设置QMainWindow的frameSize?

为了解释我正在尝试做什么,我需要满足的要求是我的程序主窗口的高度等于屏幕高度减去任务栏; 但宽度应远小于现代宽屏显示器的屏幕宽度,所以我不能只是最大化窗口.

我可以找到屏幕高度减去任务栏没问题QApplication::desktop()->availableGeometry().resize 但是,使用此值调用窗口不起作用; 据我所知,resize使内部占据一定的空间,而不是使外部适合某个空间.文档似乎暗示了相关的窗口属性frameSize,但没有提供设置它的直接方法.我可以在resize和之间做一些试验和错误反馈frameSize,但有更优雅/惯用的方法吗?

Ton*_*nyK 7

这并不复杂.请看这里有一个很好的图表.您可以使用frameGeometry()geometry()获取帧宽(水平和垂直),然后您可以在调用之前从您想要的帧大小中减去这些resize()(或者setFixedSize()如果这更适合您).

唯一可能出错的方法是框架宽度是否因调整大小而发生变化.如果有效,请告诉我!