LoadWorkData-GUIs-and-Utilities
/
Example with Google Map (folium from Jie Jenn).py
44 строки · 1.5 Кб
1import sys2import io3import folium # pip install folium4from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QVBoxLayout5from PyQt5.QtWebEngineWidgets import QWebEngineView # pip install PyQtWebEngine -> поставил6
7"""
8Folium in PyQt5
9"""
10
11
12class MyApp(QWidget):13def __init__(self):14super().__init__()15self.setWindowTitle('Folium in PyQt Example')16self.window_width, self.window_height = 1200, 80017self.setMinimumSize(self.window_width, self.window_height)18layout = QVBoxLayout()19self.setLayout(layout)20#coordinate = (37.8199286, -122.4782551) # San Francisco21coordinate = (43.44, 39.94)22# Варианты карт: OpenStreetMap (подробная цветная), CartoDB Positron (серенькая), CartoDB Voyager (аскетичная, мало подписей и меток), NASAGIBS Blue Marble (пока не отрисовывается)23m = folium.Map(tiles='OpenStreetMap',24zoom_start=13,25location=coordinate)26# save map data to data object27data = io.BytesIO()28m.save(data, close_file=False)29webView = QWebEngineView()30webView.setHtml(data.getvalue().decode())31layout.addWidget(webView)32
33
34if __name__ == '__main__':35app = QApplication(sys.argv)36app.setStyleSheet('''37QWidget {font-size: 35px; }
38''')39myApp = MyApp()40myApp.show()41try:42sys.exit(app.exec_())43except SystemExit:44print('Closing Window...')45