Python 退出按钮需要帮助

Python 退出按钮需要帮助,python,button,tkinter,Python,Button,Tkinter,我正在尝试为我正在做的这个主题编写一个代码,我已经设法完成了一些,但是当涉及到退出我的tkinter菜单时,它不会关闭,除非我手动关闭它,我有关闭它的选项按钮,但它不起作用。有人能帮我解决这个问题吗。下面是我的代码 import sys import tkinter from tkinter import* import time global v global popJ popJ = 0 def genInput(): #Allows the user to input the dat

我正在尝试为我正在做的这个主题编写一个代码,我已经设法完成了一些,但是当涉及到退出我的tkinter菜单时,它不会关闭,除非我手动关闭它,我有关闭它的选项按钮,但它不起作用。有人能帮我解决这个问题吗。下面是我的代码

import sys
import tkinter
from tkinter import*
import time

global v


global popJ
popJ = 0

def genInput(): #Allows the user to input the data

    gen = Toplevel()
    gen.wm_title("Data Input")
    v = IntVar()
    ent1 = Entry(gen, textvariable = v).pack()
    ent1Txt = Label(gen, text = 'Please input Juvenile Populations')

    ent1Txt.pack()


    v2 = StringVar()
    ent2 = Entry(gen, textvariable = v2)
    ent2Txt = Label(gen, text = 'Please input Adult Populations')
    ent2.pack()
    ent2Txt.pack()

    v3 = StringVar()
    ent3 = Entry(gen, textvariable = v3)
    ent3Txt = Label(gen, text = 'Please input Senile Populations')
    ent3.pack()
    ent3Txt.pack()

    v4 = StringVar()
    ent4 = Entry(gen, textvariable = v4)
    ent4Txt = Label(gen, text = 'Please input Survival rates for Juveniles')
    ent4.pack()
    ent4Txt.pack()

   v5 = StringVar()
   ent5 = Entry(gen, textvariable = v5)
   ent5Txt = Label(gen, text = 'Please input Survival rates for Adults')
   ent5.pack()
   ent5Txt.pack()

   v6 = StringVar()
   ent6 = Entry(gen, textvariable = v6)
   ent6Txt = Label(gen, text = 'Please input Survival rates for Seniles')
   ent6.pack()
   ent6Txt.pack()

   v7 = StringVar()
   ent7 = Entry(gen, textvariable = v7)
   ent7Txt = Label(gen, text = 'Please input the birth rate')
   ent7.pack()
   ent7Txt.pack()

   v8 = StringVar()
   ent8 = Entry(gen, textvariable = v8)
   ent8Txt = Label(gen, text = 'Number of Generations')
   ent8.pack()
   ent8Txt.pack()

   def quit1():   # Needs to be here or it breaks the program
        gen.destroy()            
        return
   def submit():
        global popJ

        popJ = v.get()
        popJtxt = Label(gen, text= v.get()).pack()
        return



    submit1= Button(gen, text="Submit")
    submit1.pack()
    submit1.configure(command = submit)
    return1 = Button(gen, text = 'Return to Menu')
    return1.pack(pady=30)
    return1.configure(command = quit1)    
    return

def genView(): # should display the data
    disp = Toplevel()
    disp.wm_title('Displaying data Values')
    popJuvenilesTxt = Label (disp, text = popJ)
    popJuvenilesTxt.grid(row =1, column = 1)




def menu():  # creates the gui menu 

    menu = Tk()
    menu.wm_title("Greenfly model")

    genInp = Button(menu,text = "Set Generation Values")

    genVew = Button(menu,text = 'Dysplay Generation Values')

    modelCal = Button(menu,text = 'Run model')

    exportData = Button(menu,text = 'Export Data')

    quitProgram = Button(menu,text = 'Quit')

    genTxt = Label(menu, text= 'Input the Generation values')
    genvTxt = Label (menu, text = 'View the current generation values')
    modelTxt = Label (menu, text = 'Run the model')
    exportTxt = Label (menu, text = 'Export data')
    quitTxt = Label (menu, text= 'Exit the program')

    genInp.grid(row=1, column=1)
    genVew.grid(row=2, column=1)
    modelCal.grid(row=3, column=1)
    exportData.grid(row=4 , column=1)
   quitProgram.grid(row=5, column=1)
   genTxt.grid(row=1, column = 2)
   genvTxt.grid(row=2, column = 2)
   modelTxt.grid(row=3, column = 2)
   exportTxt.grid(row=4, column = 2)
   quitTxt.grid(row=5, column = 2)
   genInp.configure(command = genInput)
   genVew.configure(command = genView)
   menu.mainloop()

menu()

对于Tkinter,您只需将gen.quit传递给按钮小部件的命令,如下所示:

close = Button(gen, text = 'Close', command = gen.quit).pack()

顺便说一句,我知道我的代码有问题。这个问题需要一个Tcl/TK标记。@JackEdson那么为什么不修复它呢?你们也应该发布一篇文章,我认为并没有必要用这么多的代码来说明你们的问题。虽然这里不需要高水平的英语,但下面的一组内容是非常受欢迎的。