2017-06-30 10 views
2

mainloop()の上にあるコードの最後の4行をコメントアウトすると、Tkinter GUIが正常に動作します。私はイメージを追加したい。私が行を含めた場合、コードはエラーを出すことなく実行されますが、GUIは表示されません。画像を追加する際に問題が生じる可能性があります(私はすべて.jpg、.png、.gifを試しました)? This is my GUIGUIに画像を追加した後にTkinter GUIが開かない

import Tkinter as tk 
from PIL import ImageTk, Image 


def show_answer(): 
    Ans = (float(num1.get())**2)-(((float(num1.get()) - float(num2.get()))**2)/2) 
    blank.insert(0, Ans) 


main = tk.Tk() 
tk.Label(main, text = "Enter Num 1:").grid(row=0) 
tk.Label(main, text = "Enter Num 2:").grid(row=1) 
tk.Label(main, text = "The Area of pseodo square:").grid(row=2) 


num1 = tk.Entry(main) 
num2 = tk.Entry(main) 
blank = tk.Entry(main) 


num1.grid(row=0, column=1) 
num2.grid(row=1, column=1) 
blank.grid(row=2, column=1) 


tk.Button(main, text='Quit', command=main.destroy).grid(row=4, column=0, pady=4) 
tk.Button(main, text='Calculate', command=show_answer).grid(row=4, column=1, pady=4) 

##img = "download.png" 
##photo = ImageTk.PhotoImage(Image.open(img)) 
##panel = tk.Label(main, image = photo) 
##panel.pack(side = "bottom", fill = "both", expand = "yes") 


main.mainloop() 
+2

私はあなたのセットアップに問題があると思います。これは私のマシン上に非常に記述的なエラーを与えます:* _tkinter.TclError:内部でジオメトリマネージャパックを使用することはできません。すでにグリッドで管理されている奴隷* – Sarien

答えて

2

あなたはgridpackを混合しています。親ウィジェットには1つのジオメトリマネージャのみを使用します。

たとえば、画像ラベルにgridを使用します。

img = "download.png" 
photo = ImageTk.PhotoImage(Image.open(img)) 
panel = tk.Label(main, image = photo) 
panel.grid(row=3, column=0, columnspan=2) # <--- 

enter image description here

関連する問題