为什么Qt :: AA_UseOpenGLES损坏了窗口?

时间:2019-03-24 11:30:00

标签: c++ qml qt5 qtquick2

我创建了简单的QML:

import QtQuick 2.11
import QtQuick.Controls 2.4

ApplicationWindow {
    width: 300
    height: 300
    visible: true
    title: "AAA"
}

并按以下方式使用它:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

最大化窗口时,我看到图形损坏:

enter image description here

您看到的是出现了一些非白化区域。当我关闭Qt :: AA_UseOpenGLES属性时,它工作正常。

看起来好像在最大化后消失了(例如,场景的更新)。

如何解决?

UPD :我安装了Qt 5.12.2-在此版本上,Qt :: AA_UseOpenGLES使应用程序退出时崩溃。错误太多...

0 个答案:

没有答案