Добавляем карту в интерфейс
…видео инструкция в обработке

Тут я привожу код из видео, который должен получиться по итогу.
Структура нашего проекта получится такая:

Основной файлик main.py выглядит так
import sys
import os
import PySide6
from PySide6.QtWidgets import QApplication, QMainWindow
from mainwindow import Ui_MainWindow
import folium
import io
dirname = os.path.dirname(PySide6.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.show_map()
def show_map(self):
m = folium.Map(
location=[52.286387, 104.280660],
zoom_start=11,
attributionControl=0,
)
m_data = io.BytesIO()
m.save(m_data, close_file=False)
self.ui.web.setHtml(m_data.getvalue().decode())
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
файлик интерфейса mainwindow.ui вот такой:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>697</width>
<height>541</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QWebEngineView" name="web">
<property name="url">
<url>
<string>about:blank</string>
</url>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<customwidgets>
<customwidget>
<class>QWebEngineView</class>
<extends>QWidget</extends>
<header location="global">QtWebEngineWidgets/QWebEngineView</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
файл для генерации интерфейса generate.py
pyside6-uic -o mainwindow.py mainwindow.ui
его надо вызвать чтобы сгенерился файлик mainwindow.py
generate.bat
ну и сам файлик с зависимостями requirements.txt
PySide6
numpy
pandas
geopandas
folium
зависимости ставим через
pip install -r requirements.txt
если в политехе, то надо добавить прокси
pip install -r requirements.txt --proxy 172.27.100.5:4444
Добавляем карту в интерфейс
…видео инструкция в обработке
