Я пытаюсь создать отображение движущейся карты с помощью pyqt и folium для создания слоев на плитках openstreetmap. Я просто пытаюсь обновить карту один раз, нарисовав новую полилинию, но GUI остается пустым, пока не достигнет app.exec_()
, когда вся карта появится с полилинией.
def window_setup():
global app
global win
app = QApplication(sys.argv)
win = QtWebEngineWidgets.QWebEngineView()
win.setGeometry(200, 200, 640, 480)
win.setWindowTitle("Live Map")
win.show()
def osm_map():
m = folium.Map(max_bounds = True)
data = io.BytesIO()
m.save(data, close_file=False)
win.setHtml(data.getvalue().decode())
data.close()
def update_map():
m = folium.Map(max_bounds = True)
m.add_child(folium.PolyLine(locations = [[-1, -1], [-2, -2]]))
data = io.BytesIO()
m.save(data, close_file=False)
win.setHtml(data.getvalue().decode())
data.close()
window_setup()
osm_map()
time.sleep(2)
update_map()
sys.exit(app.exec_())
Я надеюсь, что обновление GUI вначале при вызове osm_map()
, а затем еще раз при вызове update_map()
. Прочитав другие сообщения, возможно, будет полезно использовать потоки, но это не решило проблему. Я не уверен, в каком направлении мне следует двигаться, и любая помощь будет принята с благодарностью.