Тупит QML на примитивном коде - что ему еще надо? (С видео)



  • Сделал вот такой минимальный пример:

    import QtQuick 2.6
    import QtQuick.Window 2.2
    
    Window {
        visible: true
        width: 500
        height: 500
    
        Rectangle
        {
            anchors.fill: parent
            color: "blue"
        }
    
        Rectangle
        {
            x: 0
            y: 0
            width: 100
            height: 100
            color: "red"
        }
    }
    

    Это просто окно с синим фоном и красным прямоугольником в левом верхнем углу.

    Казалось бы, что тут может глючить? А глюки начинаются, когда меняется размер окна. Скриншоты сделать не могу, потому что в момент создания скриншота, окна, похоже, перерисовываются, и скриншот получается с «правильным» содержимым.

    Поэтому выкладываю видео: https://youtu.be/0ewK6jrqWms

    Видно, что если два раза нажать «Развернуть», то содержимое окна становится неправильным: синяя заливка начинается не сверху окна, а с каким-то вертикальным отступом. Красный квадрат тоже смещен вниз на этот же отступ.

    Если двигать окно, то содержимое окна остается неправильным, но в какой-то момент вдруг перерисовывается, и снова становится правильным.

    Вопрос: в чем проблема, и как сделать так, чтобы окно всегда отрисовывалось правильно? Это глюк на таком простом примере, а представьте что происходит в реальном проекте с кучей элементов с вычисляемыми размерами и масштабированием.

    Баг присутсвует в Qt 5.9.2 и Qt 5.11.2 (инсталляция с qt.io site) в Debian Linux 9 Stable (LXDE).



  • Запости в багтрекер и делов то. https://bugreports.qt.io


 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.