获取QWidget初始大小的可靠方法



我有一个自定义的小部件。它的目的是显示图像(可以缩放、旋转等(。

我的目标是计算图像的初始比例,使其大小与小部件的大小相匹配。

我的第一次尝试是在构造函数中进行,但位置不对(因为小部件通常在构造后放入布局中,所以它们的大小稍后会发生变化(。

另一种部分有效的方法是覆盖showEventresizeEvent,并在那里进行初始缩放。它部分工作,因为它在桌面上工作得很好,但由于某种原因,它在android设备上不工作——QWidget::size()返回与构造函数中相同的大小。

显然,在android上,首次显示/调整大小的事件是在最后窗口重新排列之前调用的。

有没有一种干净的方法来实现它?

您可以尝试使用QLabel,而不是在小部件内(您可以将其边框设置为0px(,并使用setScaledContents。

最新更新