Qt:窗口调整大小的方形约束

erj*_*ang 5 qt widget

我有一个QDockWidget里面有一个方形小部件。我希望``QDockWidget 可以调整大小,但始终保持方形,而默认情况下它可以不成比例地拉伸。

我需要设置什么尺寸策略、尺寸提示等组合来执行此操作?

Mar*_*utz 2

resizeEvent()被调用时,小部件已经有了新的大小。呼唤resize()可能会导致闪烁。

您可以尝试重新实现QWidget::heightForWidth(int);只要它QDockWindow是停靠的,它就可以工作,并且 Qt 的布局管理器可以控制它。但 IIRC,至少在 X11 上,heightForWidth()不适用于顶级小部件(Windows)。