Алексей Внуков
Алексей Внуков12 декабря 2018 г. 18:34

WebGL Streaming работает криво

доброго времени суток. кто пробовал работать с WebGL Streaming? у меня такая ситуация: есть проект. интерфейс на QML. в некоторых местах присутствуют таблицы (пример):

TableView
{
                id: table_holiday
                anchors.fill: parent
                anchors.margins: 5

                model: holidayModel //с++ модель, данные из БД

                 TableViewColumn
                 {
                     title: qsTr("Holiday")
                     role: "HolidayName"
                  }

                   TableViewColumn
                  {
                       title: qsTr("Date")
                       role: "HolidayDate"
                   }
}

При стандартном выводе все показывает отлично, при стриме пропадает часть текста во всем что касается таблиц. Путем экспериментов выяснил что такая ситуация со все что касается Qt Quick Controls, если использовать Qt Quick Controls 2, то такая проблема отсутствует. только вот не с TableView, во второй версии контролов он отсутствует. С выходом 5.12 была презентована новая версия TableView и она стримится нормально, но функционал у нее пока не полный

9.png
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

11
Александр Панюшкин
  • 12 декабря 2018 г. 18:39

Может зря здесь пишу - могу сбить разговор в другую сторону. Всё хотел спросить, вообще как эта штука? Насколько это можно назвать рабочим инструментом? Сколько весит страничка? Не загружает пару десятков мегабайт библиотек при отображении Hello world?
Или пока не стоит даже смотреть в эту сторону? И всё ещё очень сырое (что подтверждает это сообщение).
Всё ни как руки не дойдут попробовать...

    Evgenii Legotckoi
    • 12 декабря 2018 г. 18:47

    Я пробовал только запустить это дело. Ничего сложного в запуске нет. Можете повторить по этой статье .
    Запустить проблемы не составляло. Думаю, что в последнем Qt это запускается ещё проше.

    А так что-то заработало, что-то отказалось работать.

    Не имел опыта с реальным проектом. Но думаю, что проще какой-то функционал дополнить для TableView из Qt Quick Controls 2. Чем использовать первые контролы.

    К сожалению, не могу подсказать чего-то более ценного по этому вопросу.

      Алексей Внуков
      • 12 декабря 2018 г. 19:01
      • (ред.)

      Работает хорошо браузер особо не грузит. приложение будет крутиться на малине, к которой не будет физического доступа, в этом плане очень полезно. из минусов: не работает с первыми контролами, и так не ввели обещанный многопользовательский режим, и у меня не получилось запустить под виндой, под линуксом работает отлично

        Алексей Внуков
        • 12 декабря 2018 г. 19:03

        Работает хорошо браузер особо не грузит. приложение будет крутиться на малине, к которой не будет физического доступа, в этом плане очень полезно. из минусов: не работает с первыми контролами, и так не ввели обещанный многопользовательский режим, и у меня не получилось запустить под виндой, под линуксом работает отлично

          Алексей Внуков
          • 12 декабря 2018 г. 19:05

          Р

            Evgenii Legotckoi
            • 12 декабря 2018 г. 19:07

            Интересно, я проверял под win, заработало.

            если нет многопользовательского режима... то какой тогда толк в этом?

              Алексей Внуков
              • 12 декабря 2018 г. 19:16

              есть такое подозрение что данное направление довели до какой-то точки и забросили. а вы Qt for WebAssembly не пробовали? цель та же, возможно реализация лучше

                Evgenii Legotckoi
                • 12 декабря 2018 г. 19:19

                есть такое подозрение что данное направление довели до какой-то точки и забросили

                Вполне возможно. Qbs они уже официально похоронили. Если они свернут с QMake на CMake - будет ещё лучше, причём всем.

                а вы Qt for WebAssembly не пробовали?

                Нет... другие задачи у меня, если веб, то Django

                  Evgenii Legotckoi
                  • 12 декабря 2018 г. 19:24

                  Если вам нужна веб-морда для embedded железки, которая будет работать с Qt, то могу порекомендовать обратить внимание вот на этот проект

                  Wt Webtoolkit

                  Мы у себя только ОРМ используем из него, но относительно веба слышал, что там похожая идеология виджетов как в Qt.

                    Алексей Внуков
                    • 12 декабря 2018 г. 19:30

                    спасибо, посмотрю что и как

                      Алексей Внуков
                      • 12 декабря 2018 г. 21:35
                      • Ответ был помечен как решение.

                      если кому будет вдруг нужно, подумал я над предложением Евгения

                      Но думаю, что проще какой-то функционал дополнить для TableView из Qt Quick Controls 2.

                      вообще берем стандартный TableView за основу, и все компоненты которые нам нужны делаем делегатами Qt Quick Controls 2 (в моем случае это выводы текста)

                          TableView
                          {
                                          id: table_holiday
                                          anchors.fill: parent
                                          anchors.margins: 5
                      
                                          model: holidayModel //с++ модель, данные из БД
                      
                                           TableViewColumn
                                           {
                                               title: qsTr("Holiday")
                                               role: "HolidayName"
                                               delegate: Lable
                                               {
                                                     text: styleData.value
                                                     color: style.textColor
                                                }
                                            }
                      
                                             TableViewColumn
                                            {
                                                 title: qsTr("Date")
                                                 role: "HolidayDate"
                                                delegate: Lable
                                               {
                                                     text: styleData.value
                                                     color: style.textColor
                                                }
                                             }
                                            headerDelegate: Rectangle {
                                                      height: textItem.implicitHeight * 1.2
                                                      width: textItem.implicitWidth
                                                      color: style.secondMainColor
                                                      border.color: style.mainBorderColor
                                                     Lable{
                                                          id: textItem
                                                         anchors.fill: parent
                                                         anchors.leftMargin: 12
                                                         text: styleData.value
                                                        color: style.textColor
                      
                                                    }
                                                    Rectangle {
                                                          anchors.right: parent.right
                                                          anchors.top: parent.top
                                                        anchors.bottom: parent.bottom
                                                          anchors.bottomMargin: 1
                                                          anchors.topMargin: 1
                                                          width: 1
                                                          color: style.secondMainColor
                                                      }
                                                 }
                          }
                      

                      в результате все данные буду показаны правильно

                        Комментарии

                        Только авторизованные пользователи могут публиковать комментарии.
                        Пожалуйста, авторизуйтесь или зарегистрируйтесь
                        Ua

                        Qt - Тест 001. Сигналы и слоты

                        • Результат:84баллов,
                        • Очки рейтинга4
                        Ua

                        Qt - Тест 001. Сигналы и слоты

                        • Результат:42баллов,
                        • Очки рейтинга-8
                        ОК

                        Qt - Тест 001. Сигналы и слоты

                        • Результат:47баллов,
                        • Очки рейтинга-6
                        Последние комментарии
                        ИМ
                        Игорь Максимов22 ноября 2024 г. 21:51
                        Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                        Evgenii Legotckoi
                        Evgenii Legotckoi31 октября 2024 г. 23:37
                        Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                        A
                        ALO1ZE19 октября 2024 г. 17:19
                        Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                        ИМ
                        Игорь Максимов5 октября 2024 г. 16:51
                        Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                        d
                        dblas55 июля 2024 г. 20:02
                        QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                        Сейчас обсуждают на форуме
                        f
                        firstlunoxod15 февраля 2025 г. 13:46
                        Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                        Дмитрий
                        Дмитрий3 февраля 2025 г. 16:24
                        Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                        NW
                        Nayo Wai30 января 2025 г. 19:22
                        не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                        n
                        nkly3 января 2025 г. 12:52
                        Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                        M
                        Marsel17 августа 2023 г. 0:26
                        OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                        Следите за нами в социальных сетях