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

时间:2018-11-15 21:15:27

标签: android c++ qt qt5

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

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

我的第一个尝试是在构造函数中执行此操作,但这不是正确的位置(因为小部件通常在构造后放入布局中,因此它们的大小稍后会更改)。

另一种有效的方法是覆盖showEventresizeEvent并进行初始缩放。它部分起作用,因为它在桌面上可以正常工作,但是由于某种原因,它不能在android设备上使用-QWidget::size()返回的大小与构造函数中的大小相同。

显然,在android上,首先显示/调整大小事件在最终窗口重排之前被调用。

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

1 个答案:

答案 0 :(得分:0)

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