Изображение часто является самым простым способом объяснить что-то, вот небольшой скриншот проблемы, с которой я столкнулся:

Если выПосмотрите на правую часть окна, и вы увидите, что размер контента изменяется с видимой задержкой / задержкой.Это проблема, которая возникает во многих приложениях, но мне было интересно, есть ли способ исправить это в приложении Qt, используя QQuickView
и содержимое QML.
В основном мое приложение создано так:
QQuickView view;
view.resize(400, 200);
view.setResizeMode(QQuickView::ResizeMode::SizeRootObjectToView);
view.setSource(...);
Содержимое QML представляет собой просто элемент с 2 прямоугольниками, чтобы выделить проблему.
Редактировать : здесь представлена упрощенная версия файла QML (да,упрощенная версия также страдает от той же проблемы; p)
import QtQuick 2.12
Item {
Rectangle {
color: "black"
anchors { fill: parent; margins: 10 }
}
}
Edit2 : при запуске этого небольшого фрагмента QML через исполняемый файл qmlscene
также отображается та же задержка / задержка.
Edit3 : та же проблема возникает в некоторых дистрибутивах Linux, но не в некоторых других: на моем Ubuntu он работает нормально, но на моем CentOS 7 он показывает те же задержки / глюки, что и в Windows.Обе версии Qt были 5.12.3.На старой OSX все работает нормально (проверено на Qt 5.9) Я действительно потерян сейчас ^^
Есть ли способ предотвратить такую задержку?Решение, вероятно, будет зависеть от платформы, так как кажется, что проблема заключается в том, что размер исходного кадра изменяется до того, как Qt сможет получить событие, и поэтому размер содержимого изменяется с задержкой в 1 кадр ... но я быХотелось бы узнать, есть ли у кого-нибудь идеи о том, как с этим справиться?
Любая помощь или указатель приветствуются:)
С уважением, Дэмиен