Алексей Внуков
Dec. 12, 2018, 6:34 p.m.

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

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

  1. TableView
  2. {
  3. id: table_holiday
  4. anchors.fill: parent
  5. anchors.margins: 5
  6.  
  7. model: holidayModel //с++ модель, данные из БД
  8.  
  9. TableViewColumn
  10. {
  11. title: qsTr("Holiday")
  12. role: "HolidayName"
  13. }
  14.  
  15. TableViewColumn
  16. {
  17. title: qsTr("Date")
  18. role: "HolidayDate"
  19. }
  20. }

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

9.png
3

Do you like it? Share on social networks!

11
Александр Панюшкин
  • Dec. 12, 2018, 6:39 p.m.

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

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

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

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

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

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

        Алексей Внуков
        • Dec. 12, 2018, 7:03 p.m.

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

          Алексей Внуков
          • Dec. 12, 2018, 7:05 p.m.

          Р

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

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

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

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

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

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

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

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

                  Wt Webtoolkit

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

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

                      Алексей Внуков
                      • Dec. 12, 2018, 9:35 p.m.
                      • The answer was marked as a solution.

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

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

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

                      1. TableView
                      2. {
                      3. id: table_holiday
                      4. anchors.fill: parent
                      5. anchors.margins: 5
                      6.  
                      7. model: holidayModel //с++ модель, данные из БД
                      8.  
                      9. TableViewColumn
                      10. {
                      11. title: qsTr("Holiday")
                      12. role: "HolidayName"
                      13. delegate: Lable
                      14. {
                      15. text: styleData.value
                      16. color: style.textColor
                      17. }
                      18. }
                      19.  
                      20. TableViewColumn
                      21. {
                      22. title: qsTr("Date")
                      23. role: "HolidayDate"
                      24. delegate: Lable
                      25. {
                      26. text: styleData.value
                      27. color: style.textColor
                      28. }
                      29. }
                      30. headerDelegate: Rectangle {
                      31. height: textItem.implicitHeight * 1.2
                      32. width: textItem.implicitWidth
                      33. color: style.secondMainColor
                      34. border.color: style.mainBorderColor
                      35. Lable{
                      36. id: textItem
                      37. anchors.fill: parent
                      38. anchors.leftMargin: 12
                      39. text: styleData.value
                      40. color: style.textColor
                      41.  
                      42. }
                      43. Rectangle {
                      44. anchors.right: parent.right
                      45. anchors.top: parent.top
                      46. anchors.bottom: parent.bottom
                      47. anchors.bottomMargin: 1
                      48. anchors.topMargin: 1
                      49. width: 1
                      50. color: style.secondMainColor
                      51. }
                      52. }
                      53. }

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

                        Comments

                        Only authorized users can post comments.
                        Please, Log in or Sign up
                        • Last comments
                        • AK
                          April 1, 2025, 11:41 a.m.
                          Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                        • Evgenii Legotckoi
                          March 9, 2025, 9:02 p.m.
                          К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                        • VP
                          March 9, 2025, 4:14 p.m.
                          Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                        • ИМ
                          Nov. 22, 2024, 9:51 p.m.
                          Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                        • Evgenii Legotckoi
                          Oct. 31, 2024, 11:37 p.m.
                          Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup