在使用 Qt 应用程序时,您可能会遇到以下错误:'setGeometry: Unable to set geometry 640x480+821+429 on QWidgetWindow/'QMessageBoxClassWindow'. Resulting'。这个错误通常发生在您尝试使用 setGeometry 函数来设置窗口的几何形状时,但由于某些原因导致无法成功设置。

该错误的原因可能是:

  • 窗口还没有创建完成: 如果您尝试在窗口创建完成之前设置几何形状,就会出现此错误。请确保您在调用 setGeometry 函数之前,已经创建了窗口。
  • 窗口是不可见的: 如果窗口是不可见的,那么 setGeometry 函数将不会生效。请确保您在调用 setGeometry 函数之前,已经将窗口设置为可见。
  • 窗口是只读的: 如果窗口是只读的,那么您无法更改其几何形状。请确保您在调用 setGeometry 函数之前,已经将窗口设置为可写。

以下是一些解决此错误的方案:

  • 确保窗口已经创建完成: 在调用 setGeometry 函数之前,请确保您已经创建了窗口。例如:
QWidget window;
window.setGeometry(640, 480, 821, 429);
  • 将窗口设置为可见: 在调用 setGeometry 函数之前,请确保您已经将窗口设置为可见。例如:
QWidget window;
window.show();
window.setGeometry(640, 480, 821, 429);
  • 将窗口设置为可写: 如果窗口是只读的,那么您需要将其设置为可写。例如:
QWidget window;
window.setWindowFlags(window.windowFlags() & ~Qt::WindowFlags(Qt::WindowStaysOnTopHint));
window.setGeometry(640, 480, 821, 429);

如果您仍然遇到此错误,请检查您的代码,并确保您已经按照上述步骤进行操作。

Qt 错误:setGeometry 无法在 QWidgetWindow 上设置几何形状

原文地址: https://www.cveoy.top/t/topic/fzGX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录