Создавайте свои собственные веб-приложения с помощью Python и Qt, выполнив эти простые шаги.

Создание веб-приложений с помощью Python и Qt

Лас- Веб-приложения Они здесь, чтобы остаться, и используются все больше и больше. Некоторое время назад такие сервисы, как Twitter, были совсем другими, теперь это своего рода мобильные приложения, которые адаптируются к экрану устройства, с которого мы заходим. Но недостатком этих приложений является то, что они работают в браузере, а в наши дни мало таких браузеров, которые не слишком требовательны к ресурсам. Может быть, но что, если бы было что-то еще легче, даже больше, чем что предлагает линукс минт?

Конечно, мы можем использовать браузер на основе Chromium и создать ярлык или установить приложение, и у нас будет свободная вкладка, которая будет потреблять меньше ресурсов, чем полный браузер. Верно, это возможно, но, в зависимости от полотна, которое приходится грузить, вес может варьироваться, и, на мой взгляд, он совсем не маленький. Qt Он предлагает виджет, предназначенный для отображения веб-контента, и секрет здесь в том, чтобы создать простое приложение, которое загружает этот веб-сайт с помощью Python. Это возможно с другими языками, но Python является наиболее доступным.

Как создать веб-приложение с Python

Чтобы продолжить, у вас должно быть установлено несколько пакетов. Конечно, если мы хотим запустить веб-приложение с Питон, нам понадобится Питон; версия нашего дистрибутива должна быть действующей. Также необходимо иметь установленный пакет webengine PyQt5 (подойдет и PyQt6, но код будет другим), и его точное имя будет зависеть от используемого нами дистрибутива. В Arch Linux и производных он находится как python-pyqt5-webengine, а в Ubuntu и производных обычно python3-pyqt5.qtwebengine. После установки этих пакетов у нас будет все для создания собственных веб-приложений. Следующие шаги будут такими:

  1. Создаем новый текстовый файл. Название не имеет значения, но стоит быть описательным, чтобы мы знали, что это такое. Расширение должно быть .py, если мы собираемся использовать Python.
  2. Мы вставляем этот код, чтобы объяснить позже:
#!/usr/bin/env python3 из PyQt5 import QtCore, QtGui, QtWidgets из PyQt5 import QtWebEngineWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.set100Geometry(100 , 1200, 760) MainWindow.setMinimumSize(400, 500) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidgetEngine) self.webWebEngineView = . .QWebEngineView(self.centralwidget) self.verticalLayout.addWidget(self.webEngineView) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.webEngineView.setUrl(QtCore.QUrl("https://pluto.tv" )) self.webEngineView.setObjectName("webEngineView") MainWindow.setCentralWidget(self.centralwidget) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Uwindow () ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())

Будучи Python, вы должны быть осторожны с отступами, то есть с пробелами от левого края до первой буквы. Если все, что принадлежит к одному и тому же классу или функции, неправильное и имеет одинаковую высоту, Python определяет, что оно принадлежит другому и не работает. Но давайте шаг за шагом.

  1. Предположим, что мы хотим создать приложение Pluto TV и наш файл называется pluto.py. Мы вторично нажимаем на pluto.py, переходим в настройки и помечаем его как исполняемый файл. Мы также можем открыть терминал и ввести:
chmod +x pluto.py
  1. Теперь мы должны открыть его двойным щелчком, но сначала стоит сделать это из терминала. Мы открываем один и набираем python pluto.py. В некоторых дистрибутивах может потребоваться изменить «python» на «python3».
  2. Если мы видим, что он открывается, значит, наше веб-приложение уже создано. Мы можем создать файл .desktop, чтобы он отображался в меню приложений или где-то еще, но приложение уже будет создано. Сообщения об ошибках, которые появляются в терминале, можно игнорировать, если приложение работает.

объяснение кода

В приведенном выше коде первая строка — это «шебанг», указывающий, что откроет файл. У меня это сработало в любом дистрибутиве Linux, но в некоторых может отличаться. В нем говорится, что нужно открывать с помощью Python. Затем создается класс, объект главного окна. Внутри у нас есть функция, которая будет отображать пользовательский интерфейс. Методы .setGeometry() и .setMinimumSize() определяют, какие размеры он будет иметь при открытии и каков минимальный размер. В .setGeometry() также необходимо указать два числа (100,100 XNUMX); остальные размеры. Затем идут строки, которые создают виджет для просмотра веб-страницы, и последнее (если __name__…) — это то, что запускает приложение. Веб-приложение будет единственным между кавычками вокруг метода QUrl.

Примечание: веб-приложения отображаются в основном средстве просмотра.

Любой, кто думает, что это лучше, чем, я не знаю, установка Photopea в браузере на основе Chromium, забудьте об этом. Конечно, эти веб-приложения можно улучшить, чтобы они работали так же, как в браузере, но не с помощью простых шагов, включенных в заголовок. Это позволит иметь такие приложения, как YouTube, Pluto TV, Twitter... но вы не сможете скачивать файлы, не сохраняет пароли или может устанавливать расширения.

Лучшее в этом то, что именно потому, что это всего лишь базовое и ограниченное средство просмотра, веб-приложение будет потреблять меньше ресурсов чем хромовый. Что касается Photopea, так как в ней нет ни виджетов, которые спрашивают, куда сохранить документы, ни какой-либо функции, заставляющей их записывать на жесткий диск, изображения не сохраняются. Я пробовал, и их можно поднять, перетащив внутрь окна, но не опустить. В этом конкретном случае, что можно сделать, так это поделиться изданием, скопировать ссылку, которую оно нам дает, и открыть ее в другом месте, но ссылка открывает Photopea... Я уже сказал это, это элементарно.

Но бейсик не бесполезен, и если он может кому-то помочь, то буду рад.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.