我运行它时,Python Tkinter窗口无法打开

时间:2017-03-12 16:20:56

标签: python python-3.x tkinter python-imaging-library

我正在尝试创建一个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()

1 个答案:

答案 0 :(得分:1)

删除此代码并尝试:botFrame.pack(side=tkinter.BOTTOM),因为看起来您无法同时使用几何体和包装,因此您必须离开几何体或包装

我希望这对你有用。