我的代码运行,但没有发生任何事情(Tkinter,Python3)

时间:2016-11-22 08:06:08

标签: python-3.x tkinter

有人可以告诉我,我的剧本有什么问题。 它运行但没有任何事情发生。 如果我单击“mainWindow”上的“输入按钮”,我的目的是创建一个新窗口。 而我的mainWindow没有显示任何东西:( 谁能告诉我解决这个问题的线索? 谢谢你的时间:))

from tkinter import*

master = Tk()

# create frame menu
def mainWindow(self, master):
    menuFrame = Frame(master)

    inputButton = Button(menuFrame, text="Input Data", command=windowInput)
    showButton = Button(menuFrame, text="Show Data")
    deleteButton = Button(menuFrame, text="Delete Data")

    menuFrame.pack(fill=BOTH)
    inputButton.grid(row=0, column=0)
    showButton.grid(row=1, column=0)
    deleteButton.grid(row=0, column=1)


    # create new window
def windowInput():
    window_input = Toplevel(master)
    window_input.wm_title("Input")
    inputFrame = Frame(master)

    kodeLabel = Label(inputFrame, text="Book Kode")
    nameLabel = Label(inputFrame, text="Book Name")
    priceLabel = Label(inputFrame, text="Book Price")
    kodeEntry = Entry(inputFrame)
    nameEntry = Entry(inputFrame)
    priceEntry = Entry(inputFrame)
    submitButton = Button(inputFrame, text="Submit", command=NONE)
    backButton = Button(inputFrame, text="Back", command=NONE)

    inputFrame.pack()
    kodeLabel.grid(row=0, column=0)
    nameLabel.grid(row=1, column=0)
    priceLabel.grid(row=2, column=0)
    kodeEntry.grid(row=0, column=1)
    nameEntry.grid(row=1, column=1)
    priceEntry.grid(row=2, column=1)
    submitButton.grid(row=3, column=0, columnspan=2)
    backButton.grid(row=3, column=2)


if __name__ == "__main__":
    master.mainloop()

1 个答案:

答案 0 :(得分:2)

如果您没有在def mainWindow(self, master):中传递任何内容,例如def mainWindow():,并且您从

更改了if语句
if __name__ == "__main__":
    master.mainloop() 

为:

if __name__ == "__main__":
    mainWindow()
    windowInput()
    master.mainloop()

它应该有用