Qt 创建器中的白色窗口

Posted

技术标签:

【中文标题】Qt 创建器中的白色窗口【英文标题】:white Window in Qt creator 【发布时间】:2018-07-02 07:41:43 【问题描述】:

我在窗口 7 中使用 Qt Creator 4.6.2。

当我尝试在 Qt Creator 中选择设计标签时,它只显示一个白屏,什么都没有

当我尝试在输出中运行一个简单的 qml 代码时,它再次显示一个带有可视 c++ 运行时错误的白屏。 请帮助我。

【问题讨论】:

您到底遇到了什么错误?这是一个新安装的 QtCreator 还是由于任何操作而出现的问题?您描述的问题越准确,您就越有可能在这里得到答案。 它是一个干净的 (QtQuick) 项目还是 main.qml 中已经有任何东西? 在 main.qml 中没有窗口编程。当我运行它时它会运行并显示我编写的任何内容,但是当我尝试使用 GUI 设计页面时问题就来了 @folibis 没有显示错误,但是每当我尝试使用 GUI 进行页面设计时,它只显示一个白屏。但是通过将鼠标悬停在屏幕上可以看到它的选项。 我的猜测是,你的文件中有一些东西是设计师无法处理的。只有一组减少的组件与设计人员兼容。但是,如果没有代码,这是无法验证的。请展示一个重现您的问题的最小示例。 (#code、#minimal、#complete、#verifiable) 【参考方案1】:

这可能是因为您的机器上的渲染器失败了。 “当您将鼠标悬停在白屏上方时,选项可见”证实了这一点。很可能,您拥有的显卡驱动程序有问题且已过时。

一种解决方法是使用不同的渲染器后端和/或不同的 OpenGL 实现。您可以从以下环境变量设置选项中进行选择 - 它们都是独占的,即您一次只能选择一个。它们不能混合。请注意,"" 表示一个空字符串,即应该定义变量但为空。

    QT_ANGLE_PLATFORM=d3d11QT_QUICK_BACKEND="" - 在 Direct3D 11 之上运行的 OpenGL 渲染器 QT_ANGLE_PLATFORM=d3d9QT_QUICK_BACKEND="" - 在 Direct3D 9 之上运行的 OpenGL 渲染器 QT_ANGLE_PLATFORM=warpQT_QUICK_BACKEND="" - 在软件 Direct3D 11 光栅化器之上运行的 OpenGL 渲染器 QT_QUICK_BACKEND=d3d12 - Direct3D 12 渲染器(实验性,不使用 OpenGL) QT_QUICK_BACKEND=software - 软件渲染器后端,不支持着色器

另外:尝试更新显卡驱动程序(在备份您的系统后 - 我是认真的!),或尝试更换为 Windows 7 仍支持的更现代的显卡(它不必很昂贵完全)。也许它可能是 ANGLE 中的一个错误,它是一种在 DirectX 之上运行的 OpenGL 实现,并且被 Qt 在 Windows 上使用,因为 Windows 上的 OpenGL 支持甚至比 DirectX 支持更差。但是除了 ANGLE 之外,最简单的选择就是尝试上述建议。

【讨论】:

以上是关于Qt 创建器中的白色窗口的主要内容,如果未能解决你的问题,请参考以下文章

QT中对主窗口的引用

在 Cocoa App 的 QT 电影之间创建白色淡入淡出

Qt快速部署,运行时空窗口

Qt 设计器中的 QStackedLayout

如何在 Qt 设计器中使控件自动调整大小?

如何从 Qt Creator 的 UI 设计器中的其他两个布局之间删除 Qt 布局?