Как показать карту Folium в графическом интерфейсе PyQt5? - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь показать очень простую карту Folium в Qt GUI. Основной код:

import folium

m = folium.Map(location=[45.5236, -122.6750])
m
m.save('index.html')
folium.Map(
    location=[45.5236, -122.6750],
    tiles='Stamen Toner',
    zoom_start=13
)

Когда я использую код с Jupyter, это нормально, но показывает что-нибудь с Spyder. Я хочу показать карту в QGraphicsView или любом другом классе QClass на простом графическом интерфейсе Qt?

1 Ответ

2 голосов
/ 28 октября 2019

Вы можете сохранить HTML в io.BytesIO () с помощью метода save, а затем установить его в QWebEngineView с помощью метода setHtml ():

import io
import sys

import folium
from PyQt5 import QtWidgets, QtWebEngineWidgets

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    m = folium.Map(
        location=[45.5236, -122.6750], tiles="Stamen Toner", zoom_start=13
    )

    data = io.BytesIO()
    m.save(data, close_file=False)

    w = QtWebEngineWidgets.QWebEngineView()
    w.setHtml(data.getvalue().decode())
    w.resize(640, 480)
    w.show()

    sys.exit(app.exec_())

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...