#python-3.x #tkinter
Вопрос:
Мне нужно загрузить данные EXIF с изображения и визуализировать их на экране. То, что я сейчас делаю, это:
def get_exif():
global image_object
exif = image_object.getexif()
if exif is None:
return
exif_data = {}
for tag_id, value in exif.items():
tag = TAGS.get(tag_id, tag_id)
if tag == "GPSInfo":
gps_data = {}
for t in value:
gps_tag = GPSTAGS.get(t, t)
gps_data[gps_tag] = value[t]
exif_data[tag] = gps_data
else:
exif_data[tag] = value
print(exif_data)
if exif_data == {}:
alert = "No EXIF data availabale"
exif_lbl.configure(text=alert)
else:
exif_lbl.configure(text=exif_data)
Где exif_lbl-это:
exif_lbl = Message(exif_frame, font=("helvetica", 18), aspect=200)
exif_lbl.grid(row=1, column=0)
Я не уверен, что сообщение-это правильный способ визуализации блока текста.
Я вижу данные EXIF примерно так:
Но моя цель-увидеть это таким на моем экране:
с помощью другой функции я могу получить тег и данные отдельно, но я не могу видеть их на экране в виде списка. Это и есть функция:
for tag_id in exifdata:
# get the tag name, instead of human unreadable tag id
tag = TAGS.get(tag_id, tag_id)
data = exifdata.get(tag_id)
# decode bytes
if isinstance(data, bytes):
data = data.decode()
print(f"{tag:25}: {data}")
Как я могу отобразить данные в виде «списка»? Является ли сообщение правильным способом сделать это? Или мне следует использовать список? Спасибо
Комментарии:
1. Вы пробовали составить список из ваших инструкций по печати, а затем установить текст в список, к которому присоединяются новые строки?