使窗口按特定值关闭(python)

时间:2019-03-06 01:39:26

标签: python tkinter

我试图在单击按钮一定次数并选择两个单选按钮之一后关闭窗口。目前,这是我的代码(至少适用):

from tkinter import *
slide=1
window2=Tk()

window2.title("Select Game Length")
window2.geometry('1600x800+0+0')

def next_slide_window2():
    global slide
    slide += 1
    if slide==1:
        window2_bg.config(image=intro1)
    elif slide==2:
        window2_bg.config(image=intro2)
    elif slide==3:
        window2_bg.config(image=intro3)
        game_length_select_btn1.place(x=390, y=350)
        game_length_select_btn2.place(x=790, y=350)
    elif slide>=4 and game_length.get != 0:
        window2.destroy()

best_of_3 = PhotoImage(file="bestof3.png")
best_of_5 = PhotoImage(file="bestof5.png")
intro1 = PhotoImage(file="window2_intro1.png")
intro2 = PhotoImage(file="window2_intro2.png")
intro3 = PhotoImage(file="window2_intro3.png")
next = PhotoImage(file="next.png")

window2_bg=Label(window2,image=intro1)
window2_bg.place(y=50, x=500) #at school, 50, 690; at home, 50, 500

next_button=Button(window2, image=next, command=next_slide_window2)
next_button.place(y=650, x=700) #at school, 800, 900; at home 650, 700

game_length=IntVar()
game_length.set(0)

game_length_select_btn1= Radiobutton(window2, image=best_of_3, 
variable=game_length, value=3, command=game_length_select)

game_length_select_btn2= Radiobutton(window2, image=best_of_5, 
variable=game_length, value=5, command=game_length_select)

window2.mainloop()

第四次按下下一个按钮后,无论是否选中一个单选按钮,它都会破坏窗口。仅当其中之一发生时,才应该发生这种情况。怎么了?

1 个答案:

答案 0 :(得分:1)

这是因为您在get函数内部进行比较时使用了变量的game_length.get函数引用next_slide_window2()

game_length.get更改为game_length.get(),以便使用game_length变量的值。