2016-11-22 64 views
1

有人可以告诉我,我的脚本有什么问题._。 它运行,但没有发生。 我的目的是创建一个新窗口,如果我点击“mainWindow”上的“输入按钮”。 和我的主窗口我以前不显示任何内容:( 谁能告诉我要修复的线索这个问题? 感谢您的时间:)我的代码运行,但没有发生什么(Tkinter,Python3)

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() 

回答

2

如果你不def mainWindow(self, master):通过类似的东西def mainWindow():

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

它守:如果从

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

改变if语句ld工作

+0

感谢兄弟,我的脚本现在工作。但如果主blablabla我只把mainWindow()。 如果我使用windowInput(),当我开始我的脚本我有2个窗口在同一时间hehehe 感谢兄弟,非常有益 – Oncom

+0

我很高兴你的代码工作;)如果你想你可以检查我的答案作为答案谁解决了你的问题! – andrepogg