Ошибка просмотра карты Tkinter: объект «PhotoImage» не имеет атрибута «_PhotoImage__photo»Python

Программы на Python
Anonymous
Ошибка просмотра карты Tkinter: объект «PhotoImage» не имеет атрибута «_PhotoImage__photo»

Сообщение Anonymous »

Я пытаюсь нарисовать вид карты внутри рамки и нарисовать многоугольники местных органов власти (чтобы пользователь мог щелкнуть, чтобы выбрать).
При запуске кода я получаю следующее ошибка, хотя виджет работает:

Код: Выделить всё

AttributeError: 'PhotoImage' object has no attribute '_PhotoImage__photo'
Я использую следующий код:

Код: Выделить всё

import tkinter as tk
import tkintermapview
import json
import itertools

# create tkinter window
root_tk = tk.Tk()
root_tk.geometry(f"{1000}x{700}")
root_tk.title("map_view_polygon_example.py")

# create map widget
map_widget = tkintermapview.TkinterMapView(root_tk, width=800, height=600, corner_radius=0)
map_widget.pack(fill="both", expand=True)
map_widget.set_position(53.46,-2.250)  # UK
map_widget.set_zoom(8)

# polygon click
def UpdateMap(event=None):
tk.messagebox.showinfo("A local authority")

# get polygon shape
d = open('LA_shape.json')
shape = json.load(d)
shape = shape['features']

# for each local authority
for x in range(len(shape)):
coord = shape[x]
coord = coord['geometry']
coord = coord['coordinates']
coord = list(itertools.chain(*coord))
coord = list(itertools.chain(*coord))

# swap lat / long to long / lat
for x in range(len(coord)):
coord[x][0], coord[x][-1] = coord[x][-1], coord[x][0]

map_widget.set_polygon(coord,
# fill_color=None,
# outline_color="red",
# border_width=12,
command=UpdateMap,
name="local_authority_polygon")

root_tk.mainloop()
Исходный файл LA_shape.json здесь

Подробнее здесь: https://stackoverflow.com/questions/758 ... mage-photo

Вернуться в «Python»