質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

意見交換

クローズ

2回答

710閲覧

画像表示エラー(python 1年生 dispImage.py)

kahototo

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/05/02 08:21

0

0

実現したいこと

教科書通り 車の画像を表示させたい。

前提

記述の間違いは特にないと思います。

発生している問題・エラーメッセージ

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Endo\AppData\Local\Programs\Python\Python36-32\lib\tkinter_init_.py", line 1699, in call
return self.func(*args)
File "C:\Users\Endo\AppData\Local\Programs\Python\Python36-32\dispImage.py", line 21, in openFile
dispPhoto(fpath)
NameError: name 'dispPhoto' is not defined

該当のソースコード

import tkinter as tk
import tkinter.filedialog as fd
import PIL.Image
import PIL.ImageTk

def disPhoto(path):

# 画像を読み込む newImage = PIL.Image.open(path).resize((300,300)) # そのイメージをラベルに表示する imageData = PIL.ImageTk.PhotoImage(newImage) ImageLabel.configure(image = imageData) imageLabel.image =imageData

def openFile():
fpath = fd.askopenfilename()

if fpath: dispPhoto(fpath)

root = tk.Tk()
root.geometry("400x350")

btn = tk.Button(text="ファイルを開く",command = openFile)
imageLabel = tk.Label()
btn.pack()
imageLabel.pack()
tk.mainloop()

試したこと

Pillowのバージョン変更、教科書の参考の画像を持ってきて、無理やり開こうと
したが、開かない。

補足情報(FW/ツールのバージョンなど)

pip list (Pillow:8.4.0 / pip:20.2.2/setuptools 28.8.0)

WARNING: You are using pip version 20.2.2; however, version 21.3.1 is available.
You should consider upgrading via the 'c:\users\endo\appdata\local\programs\python\python36-32\python.exe -m pip install --upgrade pip' command.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

#1

can110

総合スコア38282

投稿2023/05/02 08:24

この手の質問は意見交換ではなくQ&Aのほうが適切です。

記述の間違いは特にないと思います。
def disPhoto(path):

間違いないでしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

meg_

総合スコア10607

投稿2023/05/02 10:25

記述の間違いは特にないと思います。

NameError: name 'dispPhoto' is not definedが発生しているのは関数dispPhotoが定義されていないからです。ですのでコードにミスがあるか、関数を定義する前に関数を呼び出したかのどちらかでしょう。

質問者さんが定義したのはdisPhotoでエラーメッセージとは関数名が異なっています。
関数名を修正するか呼び出す関数名を変更するかすれば良いでしょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問