Закрытие окна по определенному значению (python) - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь закрыть окно после определенного нажатия кнопки и выбора одной из двух радиокнопок. В настоящее время это мой код (по крайней мере, тот бит, который применяется):

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 Ответ

1 голос
/ 06 марта 2019

Это потому, что вы используете get ссылку на функцию переменной game_length.get для сравнения внутри next_slide_window2() функции.

Измените game_length.get на game_length.get(), чтобы вы использовали значение переменной game_length.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...