我可以在不手动调整Qt大小的情况下调用调整大小事件吗?

Can I call a resize event without manually resizing in Qt?

本文关键字:调整 调用 情况下 大小事 小事件 我可以 Qt      更新时间:2023-10-16

简而言之:我有一个关于Qt与optirun(或类似的东西)结合的错误。我已经把它贴在这里了,但还没有解决。更新到Qt版本5.4时,会出现另一个错误。工作窗口位于分辨率 100x30 的左上角。它看起来有点类似于错误报告中的正确图片。但是通过手动调整其大小,可以恢复渲染窗口的固定和更大大小。一切看起来又恢复正常了。

是否可以在不手动调整整个窗口大小的情况下发出调整大小事件?目前,我尝试手动调用 resize 事件的方法,但这似乎无法正常工作。有没有人有其他想法来解决这个问题?也许我不是唯一一个有这个错误的人,或者也许有人可以在不手动调整窗口大小的情况下想象另一种解决方案?任何帮助都会很棒。

我想要的只是程序的启动立即创建一个更大的小部件来渲染。

编辑(更多信息):

我还尝试在QtCreator的UI-Designer中为中央小部件设置最小大小,这适用于除1120x800以外的所有分辨率,在此分辨率下,程序在绑定帧缓冲对象时中止。我知道这有点奇怪,但这是我需要的分辨率,我真的不知道,为什么手动调整大小有效,而不是最初的调整。

我建议如果你想触发一个调整大小事件,你可以使用postEvent机制来做。创建调整大小事件时,无论如何都会使用此系统完成,因此它符合幕后发生的事情。如果你查看Qt Docs for Events,它有一些关于发送和发布事件的讨论,那么你所需要的只是创建一个QResizeEvent对象。