Я пытаюсь открыть окно file dialog
(выбрать файл), когда пользователь нажимает кнопку, вызывая функцию open
:
from Tkinter import *
import Tkinter, Tkconstants, tkFileDialog
from PIL import ImageTk, Image
root = Tk()
root.title('Application')
def open_file():
root.filename = tkFileDialog.askopenfilename(initialdir="/", title="Select An Image", filetypes=(("jpeg files", "*.jpg"), ("gif files", "*.gif*"), ("png files", "*.png")))
image_label = Label(root, text=root.filename)
image_label.pack()
my_image = ImageTk.PhotoImage(Image.open(root.filename))
my_image_label = Label(root, image=my_image)
my_image_label.pack()
my_button = Button(root, text="Open File", command=open_file)
my_button.pack()
root.mainloop()
однако после того, как я выберу выбранный файл и «отправлю» его, он не появится на созданном мной my_image_label
(появляется только пустое пространство размером с изображение). Но когда я использовал содержимое функции open
вне функции (без вызов функции) это сработало.
Вы хоть представляете, в чем проблема? и как я могу это исправить?