ilya.guzikov
ilya.guzikov28 декабря 2020 г. 0:19

QML WebView

QML C++

Добрый день. Похожий вопрос поднимался в этом форуме, однако решение проблемы найдено не было. Имеется webView в qml слое в нём отрисовывается некий сайт на котором присутствует кнопка для скачивания файла. Необходимо как-то получить сигнал нажатия на эту кнопку и ссылку на скачивание файла. webView не возвращает данный сигнал, только сигнал onLoadingChanged который не подходит для этой задачи. Есть ли в с++ или qml готовое решение этого вопроса или нужно создавать некую обёртку и как её грамотно создать?

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

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

16
Михаиллл
  • 28 декабря 2020 г. 1:58

WebView сильно урезан. Сам мучался с похожими трудностями. Посмотрите, может быть можно использзовать веб энжин

    ilya.guzikov
    • 28 декабря 2020 г. 19:51

    веб энжин в clang под андроид дфже в про файле не видит и не собирается

      Михаиллл
      • 28 декабря 2020 г. 19:55

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

        ilya.guzikov
        • 28 декабря 2020 г. 20:33
        • (ред.)

        мне нужен обработчик для загрузки и скачивания файлов и всё. Вы пробовали реализавать "продвмнутый" webView через JS?

          Михаиллл
          • 28 декабря 2020 г. 22:04

          Покапайте в сторону сборки (нужно будет флаги поменять в коде) вебвью для андроида.Как то один касяк вебвью решался так, может быть и Ваша задача также решиться.

            ilya.guzikov
            • 28 декабря 2020 г. 22:57

            я так понимаю нужно через метод runJavaScript необходимо настроить слот на некий сигнал из html, но как?

              ilya.guzikov
              • 29 декабря 2020 г. 1:16

              про какие флаги вы говорите?

                Михаиллл
                • 29 декабря 2020 г. 1:54

                ТОчно не помню как там пишется. У меня была трудность с сохранением кеша, нужно было в исходниках поставить гдето тру для его сохранения. Возможно похожая ситуация с сигналами.

                  ilya.guzikov
                  • 30 декабря 2020 г. 19:15

                  На просторах инета найти информацию не могу. Ранее были пакеты webKit в которых была возможность отлавливать ссылки, которые не изменяют url (пр: кнопка добавления картинки) сейчас в webView этого нет.

                    Михаиллл
                    • 30 декабря 2020 г. 19:37

                    Думаю стоит на официальном форуме поспрашивать, как пересобирать вебвью, может быть ответят

                      ilya.guzikov
                      • 30 декабря 2020 г. 20:32

                      попробую

                        ilya.guzikov
                        • 31 декабря 2020 г. 23:48

                        В общем опыт следующий, webView при нажатии на кнопку upload на стороне html: в сборке десктопной вызывает filedialog и всё ок, однако в сборке под пндроид filedislog не вызывается, хоть и прописаны все периишины. Может какое-то доролнительное взаимодействие в андроиде должно быть между webview и filedialog. Одним из вариантов решение вижу запустить webview нативно через java в которой обработка upload работает.

                          Михаиллл
                          • 1 января 2021 г. 2:12

                          Попробуйте. Но мне кажется, это особенность сборки под андроид. Все же попробуйте перемобрать.

                            ilya.guzikov
                            • 1 января 2021 г. 4:10

                            пробовал, и ращные проекты запускал с вебвью, всегда такой же оезультат

                              Михаиллл
                              • 1 января 2021 г. 12:08

                              Разные проекты нет смысла собирать. А Из тех исходников, что вы собирали, если собрать под десктоп, то там сигнал будет?

                                ilya.guzikov
                                • 2 января 2021 г. 15:47

                                никаких сигналов не испускается, однако под десктоп выскакивает filedialog, а под android нет, когда на html разметке кликаешь на компонент type=file.

                                  Комментарии

                                  Только авторизованные пользователи могут публиковать комментарии.
                                  Пожалуйста, авторизуйтесь или зарегистрируйтесь
                                  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 Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

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