我正在尝试创建一个4图片1字复制品。当我运行我的代码时,即使我在代码的末尾包含了.mainloop(),也没有打开窗口。我试图创建字母按钮,输入框显示输入并输入按钮检查输入是否正确。在包含图像部分之前,我的代码工作正常。我已经在线查看了帮助,图像的代码似乎很好。所以,我不知道错误在哪里。如果你可以帮助我,那将是非常好的。谢谢!! < 3
import tkinter
from PIL import ImageTk, Image
window = tkinter.Tk()
window.title("4 Pics 1 Word")
window.geometry("546x600")
botFrame = tkinter.Frame(window)
botFrame.pack(side=tkinter.BOTTOM)
word = "APPLE"
wordLength = 5
Letters = [
'A','I','H','O','P','U',
'P','R','E','Z','L','Q']
row = 5
col = 0
for i in Letters:
button_style = 'raised'
action = lambda x = i: click_event(x)
tkinter.Button(window, text = i, width = 7, height = 3, relief = button_style, command = action) \
.grid(row = row, column = col, sticky = 'nesw', )
col += 1
if col > 5:
col = 0
row += 1
tkinter.Button(window, text= "CLEAR", width = 7, height = 3, relief = button_style, command = lambda x = "CLEAR": clear_event(x))\
.grid(row = 7, column = 0)
tkinter.Button(window, text= "ENTER", width = 7, height = 3, relief = button_style, command = lambda x = "ENTER": enter_event(x))\
.grid(row = 7, column = 2)
display = tkinter.Entry(window, width = 40, bg = "white")
display.grid(row = 0, column = 0, columnspan = 8)
img = ImageTk.PhotoImage(Image.open("Level1.gif"))
panel = tkinter.Label(botFrame, image = img)
panel.image = img
panel.pack(side = "bottom", fill = "both", expand = "yes")
def clear_event(key):
if key == "CLEAR":
display.delete(0,tkinter.END)
def enter_event(key):
if key == "ENTER":
final = display.get()
if final == word:
display.delete(0,tkinter.END)
tkinter.messagebox.showinfo( "Congrats!!", "YOU WIN!!")
def click_event(key):
display.insert(tkinter.END, key)
window.mainloop()
答案 0 :(得分:1)
删除此代码并尝试:botFrame.pack(side=tkinter.BOTTOM)
,因为看起来您无法同时使用几何体和包装,因此您必须离开几何体或包装
我希望这对你有用。