TL;DR Lassen Sie uns zuerst Tk () ausführen
Als ich versuchte, ein GUI-Programm mit tkinter zu erstellen, versuchte ich, ein Bild auf Leinwand anzuzeigen, und als ich es schrieb, bekam ich eine Fehlermeldung, also versuchte ich, den Inhalt mit ipython zu überprüfen.
ipython
from PIL import Image, ImageTk
import tkinter as tk
img = Image.open("hoge.png ")
imgtk = ImageTk.PhotoImage(img)
Dann
RuntimeError: Too early to create image
Ich konnte nicht weitermachen
PhotoImage () kann nur verwendet werden, wenn zuerst tk.Tk () aufgerufen wird.
Als ich versuchte, mit ipython zu analysieren, wurde es so, weil tk.Tk () im ursprünglichen Skript nicht wiedergegeben wurde. Der Fehler, der ursprünglich in Schwierigkeiten war, war im Bild, daher war ich verwirrt und verzögerte die Entdeckung. Wenn Sie unter ipython root = tk.Tk () und Tk () entsprechend aufrufen, gibt es danach kein Problem mehr.
Recommended Posts