Почему Qt :: AA_UseOpenGLES портит окно? - PullRequest
0 голосов
/ 24 марта 2019

Я создаю простой 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 вызывает сбой приложения при выходе. Слишком много ошибок ...

...