pythonを勉強しているものです。
ウィンドウ作成後メニューバーから画像表示の関数を呼び処理させようと思ったのですが
うまくできません。
ちなみにcallback内のコードはwindowを追加するコードを入れれば
動作はします。
特にエラーとかではないです。
#coding:utf-8 import tkinter from PIL import Image, ImageTk def callback(): # 画像を表示するための準備 img = Image.open('new.jpg') img = ImageTk.PhotoImage(img) # 画像を表示するためのキャンバスの作成(黒で表示) canvas = tkinter.Canvas(bg = "white", width=800, height=500) canvas.place(x=0, y=0) # 左上の座標を指定 # キャンバスに画像を表示する。第一引数と第二引数は、x, yの座標 canvas.create_image(0, 0, image=img, anchor=tkinter.NW) print(img) root = tkinter.Tk() menubar = tkinter.Menu(root) filemenu = tkinter.Menu(menubar, tearoff=0) # ファイルメニュー filemenu.add_command(label="callbakc", command=callback) filemenu.add_separator() filemenu.add_command(label="test", command=callback) filemenu.add_command(label="名前をつけて保存", command=callback) filemenu.add_command(label="閉じる", command=root.destroy) menubar.add_cascade(label="ファイル", menu=filemenu) root.config(menu=menubar) root.mainloop()
環境 win10 64bit python3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。