You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt6调用widget->showMaximized首次显示时界面冻结闪烁问题

Qt 6.2最大化启动时控件首次绘制异常问题

从Qt5升级至Qt 6.2版本后,会遇到应用最大化模式启动异常的问题:控件首次绘制时会先以常规尺寸渲染,之后才能正确重绘为最大化状态,中间异常状态参考下方动图:
首次显示时QWidget::paintEvent绘制异常

问题复现说明

  • 测试使用的Qt版本为Qt-6.2.3,复现用例为Qt官方自带的styles示例,本地存储路径为Qt/Examples/Qt-6.2.3/widgets/widgets/styles
  • 仅需修改示例main.cpp中的代码,将widget.show()替换为widget.showMaximized()即可复现该问题
  • 该问题偶现正常启动情况,但概率极低;同时控件复杂度越高,首次显示时完成正确绘制的耗时就越长。轻量示例启动速度快,异常状态几乎难以察觉,但在重型应用中,该启动阶段的异常显示问题非常明显,极易被用户感知。

方案征集

如果该问题无法快速修复,需要可掩盖该异常表现的可行方案。此前曾考虑先将控件绘制到虚拟帧缓冲,待首次显示完成后再移动到主显示屏,但未找到C++中简便的虚拟帧缓冲创建实现方式,欢迎提供相关解决思路。

问题进度

目前已向Qt官方开发者提交该Bug,对应工单编号为QTBUG-104357。

内容的提问来源于stack exchange,提问作者Алексей Щербаков

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:16:04