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

Структура нашего проекта получится такая:

Основной файлик 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

Задание

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

…видео инструкция в обработке