qt5 - Qt 5.3 Qt Quick 应用程序显示白屏

标签 qt5 qtquick2 qtquickcontrols

我已经下载了最新的 Qt 5.3.0 for Windows 32 位(MinGW 4.8.2,OpenGL)安装程序。

并尝试使用 Qt Creator 创建一个测试 QtQuick 项目。 我在 Qt Creator 中选择了文件 -> 新项目 -> QtQuick 应用程序。在qt组件集中,我选择“Qt Controls 1.1”并创建默认的Hello World应用程序。

当我编译并运行应用程序时,Hello world 文本会短暂出现,然后窗口变为白色。

我无法让 Qt Quick 应用程序运行。 这是 Qt 5.3 中的错误还是我做错了什么?请帮忙。

这里是Qt Creator生成的qml文件。 main.qml:

import QtQuick 2.2
import QtQuick.Controls 1.1

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    menuBar: MenuBar {
        Menu {
            title: qsTr("File")
            MenuItem {
                text: qsTr("Exit")
                onTriggered: Qt.quit();
            }
        }
    }

    Text {
        text: qsTr("Hello World")
        anchors.centerIn: parent
    }
}

这是生成的 main.cpp 文件:

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:///main.qml")));

    return app.exec();
}

最佳答案

我前段时间也有过同样的行为。这是因为 x32 位 Windows 系统 OpenGL/DirectX 困惑。只需尝试调用 app.setAttribute(Qt::AA_UseOpenGLES); 来强制使用角度(Windows 上的 DirectX)而不是 OpenGL。在加载主 QML 文件之前。当然你应该安装Qt框架的Angle版本。从 5.5 版本开始,它是唯一受支持的版本。

关于qt5 - Qt 5.3 Qt Quick 应用程序显示白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927175/

相关文章:

c++ - QML Camera 的无效/未定义媒体对象属性

c++ - Qt-如何实现一个可读写的QSqlQueryModel?

qt - 如何在 ColumnLayout 中居中元素

qt - 禁用 QML Slider 的鼠标滚轮

qt - 在 QML 中动态创建按钮

c++ - 升级到 Qt 5.15 后,ListView 委托(delegate)中的父级为空

c++ - 添加(而不是连接)一个数字到 QByteArray

c++ - 如何管理从 C++ 返回到 QML 的 QObject 的生命周期?

qt - 当按钮在 Qt Quick Controls 2 中独占时取消选中按钮

c++ - Qt 发现导入无效,但项目正在运行。部分地