1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

tkinterで”too early to create image”と出てしまう

Posted at

TL;DR

先にTk()を実行しておこう

状況

tkinterを使ってGUIプログラムを作ろうとしていたとき、canvas上で画像を表示しようとして、書いたところエラーが出たためipythonで中身を確認しようとした。

ipython
from PIL import Image, ImageTk
import tkinter as tk

img = Image.open("hoge.png")
imgtk = ImageTk.PhotoImage(img)

すると、

RuntimeError: Too early to create image

となって先に進めなかった

原因

tk.Tk()を先に呼び出しておかないとPhotoImage()は使えない

対処

ipythonで解析しようとしていたとき、もとのスクリプトにあるtk.Tk()が反映されていなかったため、この様になった。もともと困っていたエラーは画像の方に出ていたものだから、混乱して発見が遅れた。ipython上ではroot=tk.Tk()と適当にTk()を呼んでおけば、後は問題ない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?