前提・実現したいこと
参考書を見ながら、
pythonのtkinterを使ってGUIを作成しています。
そこで、画像表示をさせたいのですがエラーがどうしても出てしまいます。
python
1img = tk.PhotoImage(file = 'python.gif') 2```私はこの部分に原因があると思っていますが...(間違っていたらすいません) 3 4最近はずっとこのエラーで停滞モードなので 5何卒ご教授よろしくお願いします。 6 7### 発生している問題・エラーメッセージ 8
Traceback (most recent call last):
File "C:\Python\test.py", line 16, in <module>
f = Frame()
File "C:\Python\test.py", line 10, in init
self.img = Tk.PhotoImage(file=CLOCK)
File "C:\Users\XXXX\AppData\Local\Programs\Python\Python37\lib\tkinter_init_.py", line 3545, in init
Image.init(self, 'photo', name, cnf, master, **kw)
File "C:\Users\XXXX\AppData\Local\Programs\Python\Python37\lib\tkinter_init_.py", line 3501, in init
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "python.gif"
### 該当のソースコード ```python import tkinter as tk import random response_area = None #グローバル変数 def wakuwaku(): play = ['ちっちゃな映画館を探して映画館を見に行く', 'おしゃれなカフェでまったりする', '絶叫マシンの遊園地ではしゃぐ', 'しっとりと神社・仏閣めぐり', 'シナリオなしの路線バスの旅', 'もやもやする街を散策する', 'ざわめく街の酒場を放浪する'] tomorrow = random.choice(play) response_area.configure(text=tomorrow) #画面を描画する関数 def run(): global response_area root = tk.Tk() root.title('明日のデート : ') font = ('Helevetica',14) canvas =tk.Canvas( #? root, width = 550, height = 200, relief = tk.RIDGE, #? bd = 2) #枠線の幅 canvas.pack() img = tk.PhotoImage(file = 'python.gif') canvas.create_image( 0, 0, image = img, anchor = tk.NW ) response_area = tk.Label( root, width = 50, height = 10, bg = 'orange', #背景の色 font = font, relief = tk.RAISED, #枠線の種類 bd =2) #枠線の幅 response_area.pack() button = tk.Button( root, font = font, text = '明日のデートはどーする?', command = wakuwaku) button.pack() root.mainloop() #プログラムの起点 if (__name__ == '__main__'): run()
試したこと
個人的に拡張子を変えたりネットを見て試してみたりなどいろいろと模索してみたのですが、どれも解決しませんでした。
ちなみに画像の場所はtest.pyのフォルダと一緒の場所です。(場所はあってると思います)
補足情報(FW/ツールのバージョンなど)
Windows10, Python 3.7.1,
エディタ: IDLE
回答1件
あなたの回答
tips
プレビュー