Russian Qt Forum
Ноябрь 22, 2024, 08:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Тупит QML на примитивном коде - что ему еще надо? (С видео)  (Прочитано 4971 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Декабрь 04, 2018, 16:25 »

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

Код:
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

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

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

Вопрос: в чем проблема, и как сделать так, чтобы окно всегда отрисовывалось правильно?
« Последнее редактирование: Декабрь 05, 2018, 13:18 от xintrea » Записан

Собираю информацию по крупицам
http://webhamster.ru
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Декабрь 04, 2018, 16:28 »

Линуксопроблемы. У меня на винде все ок (Qt 5.11.2)
Записан

ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Декабрь 05, 2018, 12:26 »

xintrea
Вохможно, дрова на видюху надо обновить.
А что вкладка "Начало" в Среаторе, подвержена проблеме? Она вроде тоже на qml вся
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #3 : Декабрь 05, 2018, 13:18 »

xintrea
Вохможно, дрова на видюху надо обновить.
А что вкладка "Начало" в Среаторе, подвержена проблеме? Она вроде тоже на qml вся
Debian Stable 9 и Intel i915, какие там дрова на видюху.

Это проблема DE, при сворачивании до обычного размера, DE видимо не посылает какой-то сигнал, и окно типа QML Window не знает что надо перерисовываться.

"Начало" в креаторе может быть и на QML, но окно QML Window, если оно и есть, сделано "внутри" стандартного Qt-окна. А у стандартных Qt-окон в Linux уже давно все баги поотлавливали.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Декабрь 05, 2018, 16:40 »

А версия Qt какая, кстати? Я тут недавно столкнулся с багом с окнами на 5.12. Но под вендой. Но пока не копал глубоко.
Записан
vbv
Чайник
*
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #5 : Декабрь 05, 2018, 16:53 »

Для начала:
1. Какая версия Qt?
2. Как это окно визуализируется?
что-то типа main.cpp?Непонимающий

От себя:
С таким main.cpp
//
#include <QGuiApplication>
#include <QQmlApplicationEngine>

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

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

    return app.exec();
}
//------------------------------
2. версия qt - 5.7.0

Без проблем, Ваш код работает как и ожидается и ничего не глючит.

сразу забыл упомянуть:
Slackware 14.2 Linux v 4.17.8 #2 SMP Thu Nov 8 13:20:53 EET 2018 x86_64 Intel(R) Core(TM) xxxx CPU @ x.00GHz GenuineIntel GNU/Linux
dm: xfce 4.12
video: NVIDIA 1030
« Последнее редактирование: Декабрь 05, 2018, 16:59 от vbv » Записан
navrocky
Moderator
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #6 : Январь 14, 2019, 16:05 »

Это скорее всего пробема DE, в частности оконного менеджера. Попробуйте грузануться в какую-нибудь DE и там проверить.
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.114 секунд. Запросов: 23.