ilya.guzikov
ilya.guzikov27 декабря 2020 г. 13:19

QML WebView

QML C++

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              ilya.guzikov
              • 28 декабря 2020 г. 14:16

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

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

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

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

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

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

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

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

                      попробую

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

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

                          Михаиллл
                          • 31 декабря 2020 г. 15:12

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

                            ilya.guzikov
                            • 31 декабря 2020 г. 17:10

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

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

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

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

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

                                  Комментарии

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

                                  C++ - Тест 004. Указатели, Массивы и Циклы

                                  • Результат:50баллов,
                                  • Очки рейтинга-4
                                  m
                                  • molni99
                                  • 26 октября 2024 г. 1:37

                                  C++ - Тест 004. Указатели, Массивы и Циклы

                                  • Результат:80баллов,
                                  • Очки рейтинга4
                                  m
                                  • molni99
                                  • 26 октября 2024 г. 1:29

                                  C++ - Тест 004. Указатели, Массивы и Циклы

                                  • Результат:20баллов,
                                  • Очки рейтинга-10
                                  Последние комментарии
                                  ИМ
                                  Игорь Максимов22 ноября 2024 г. 11:51
                                  Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                  Evgenii Legotckoi
                                  Evgenii Legotckoi31 октября 2024 г. 14:37
                                  Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                                  A
                                  ALO1ZE19 октября 2024 г. 8:19
                                  Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                                  ИМ
                                  Игорь Максимов5 октября 2024 г. 7:51
                                  Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                                  d
                                  dblas55 июля 2024 г. 11:02
                                  QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                                  Сейчас обсуждают на форуме
                                  Evgenii Legotckoi
                                  Evgenii Legotckoi24 июня 2024 г. 15:11
                                  добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                                  t
                                  tonypeachey115 ноября 2024 г. 6:04
                                  google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                                  NSProject
                                  NSProject4 июня 2022 г. 3:49
                                  Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
                                  9
                                  9Anonim25 октября 2024 г. 9:10
                                  Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

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