1K подписчиков

Программирование на языке Python. PyQt5 и создание простейшего браузера с помощью QWebEngineView

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Создание простейшего браузера с помощью QWebEngineView

Ну поскольку я давно не писал о PyQt5 напомню статьи, которые могут вам понадобиться при прочтении данной. А информации по PyQt5, не освящённой мной здесь, ещё очень много.

  • О QMainWindow было несколько статей: 1, 2, 3, 4. Это более совершенное окно, чем QWidget. А все остальные статьи подборки PyQt5 были как раз по QWidget
  • По диалоговым окнам: QFileDialog и QInputDialog статья здесь
  • По QToolBar информацию можно найти здесь
  • По QAction см. здесь

Ну, а все материалы по PyQt5 см. в подборке

Теперь перейдём к делу. Класс QWebEngineView позволяет создать собственный полноценный браузер. Мы же создадим простейшую программу, позволяющую просматривать html-страницы у вас на диске и просматривать интернет-ресурс по набранному url.

Программа имеет всего две функциональные возможности (см. Рисунок 1): File_html - выбор html-страницы на локальном диске и её отображении (см. Рисунок 2), www - ввод url интернет-ресурса и его отображение, например http://ya.ru (см. Рисунок 3).

Скриншот программы-браузера на основе класса QWebEngineView. Текст программы можно получить ниже по ссылке
Скриншот программы-браузера на основе класса QWebEngineView. Текст программы можно получить ниже по ссылке

Пояснения к программе.

  • В окне QMainWindow создаётся объект QWebEngineView. Вот эта команда привязывает self.setCentralWidget(self.br) объект-браузер к главному окну.
  • Создаётся панель инструментов QToolBar() - self.addToolBar(nv). Создаются два пункта меню: btn и btnw, которые будут играть роль кнопок. Создаём также два обработчика self.file и self.www.
  • Для выбора html-файла на диске используем QFileDialog(), для ввода строки url используем QInputDialog(). Обращаем внимание на добавку 'file://' перед полученным путём - обязателен для указания браузеру, что html-страница на локальном диске.
  • Метод browser() получает строку или url или или полный путь к html-файлу на диске. Обращаем внимание на метод QUrl() он преобразует полученную строку к форме приемлемой для метода setUrl(), который и инициализирует скачивание и отображение web-страницы.
Рисунок 1. Окно программы. Пункты: File_html - выбор web-страницы на диске, www - ввод url web-страницы
Рисунок 1. Окно программы. Пункты: File_html - выбор web-страницы на диске, www - ввод url web-страницы

Рисунок 2. Запуск web-страницы с локального диска
Рисунок 2. Запуск web-страницы с локального диска

Рисунок 3. Запуск интернет-ресурса http://ya.ru
Рисунок 3. Запуск интернет-ресурса http://ya.ru

Ну, пока всё!

Гляньте также на это

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

Бросьте, все программы давно написаны, программировать больше нечего
Бросьте, все программы давно написаны, программировать больше нечего