我有一个QDockWidget
,里面只有一个正方形的小部件。我希望这个“QDockWidget”可以调整大小,但始终保持正方形的形状,而默认情况下它可以被不成比例地拉伸。
我需要设置什么样的大小策略、大小提示等组合来实现这一点呢?
resizeEvent()
时,窗口小部件的新大小已经确定。因此,从中调用resize()
可能会导致闪烁。QWidget::heightForWidth(int)
;只要QDockWindow
被停靠,并且Qt的布局管理器控制它,这可能有效。但是我IRC上了解到,在X11上,heightForWidth()
在顶层窗口小部件(窗口)上不起作用。你需要重写resizeEvent方法。
在这个方法中,你需要比较宽度和高度,
如果它们不相等,就将它们设置为你想要的与宽度或高度相关的相等数字。