У меня есть этот скрипт, в котором я хочу выбрать изображение из каталога с помощью Tkinter, а затем выбрать на нем пиксель, но похоже, что tkinter.mainloop() никогда не заканчивается. Пожалуйста помоги
import tkinter.filedialog
from PIL import Image, ImageTk
def callback(event):
print("Starting pixel of object is: ", event.x, event.y)
global ps
ps[0] = event.x
ps[1] = event.y
return event.x, event.y
tkinter.Tk().withdraw()
image = tkinter.filedialog.askopenfilename()
ps = [0, 0]
window = tkinter.Toplevel()
img = Image.open(image)
canvas = tkinter.Canvas(window, width=img.size[0], height=img.size[1])
canvas.pack()
image_tk = ImageTk.PhotoImage(img)
canvas.create_image(img.size[0] // 2, img.size[1] // 2, image=image_tk)
canvas.bind("<Button-1>", callback)
tkinter.mainloop()
print(ps)
callback
или закрыть окно. - person furas   schedule 13.12.2017Toplevel
окно, ноTk()
все еще работает - вы должны присвоитьTk()
переменной - т.е.root
чтобы вы могли сделатьroot.destroy()
. Вы можете добавить кнопку сcommand=other_callback
, чтобы назначить функцию, которая будет выполнятьwindow.destroy()
иroot.destroy()
- person furas   schedule 13.12.2017Toplevel
используйтеroot.deiconify()
, чтобы отобразитьTk()
и поместить все в это окно - person furas   schedule 13.12.2017