【发布时间】:2021-05-12 11:22:33
【问题描述】:
我的QTabWidget 在启动时有 2 个标签。
- 标签 1 是启动时打开的标签。
- 标签 2 包含一些小部件,我使用
QSize稍后在新打开的标签中绘制类似的元素。
问题是当前元素的大小是 640x480(显然是默认值),如果选项卡 2 尚未显示。选择选项卡 2 后,将“绘制”元素并根据分辨率、窗口大小等获取其大小。
如何在不打开选项卡 2 的情况下强制在后台绘制元素,以便获得打开选项卡时元素的大小? repaint 和 update 不要那样做。
我目前的解决方法是在标签 2 打开的情况下启动,然后在 myWindow.show() 和 myApp.exec() 之间切换到 main.cpp 中的标签 1,但这似乎有点脏。
【问题讨论】:
-
标签 2 小部件是否有布局?
-
我想你可能想打电话给
sizeHint()而不是size() -
@JeremyFriesner 谢谢,这行得通,如果你想回答我会接受的,