Ткинтер windows в л oop, получите ошибку TypeError - PullRequest
0 голосов
/ 05 апреля 2020

Мне нужно окно с кнопкой. Я хочу, чтобы эта кнопка была связана с командой, чтобы закрыть окно и после этого открыть окно снова, чтобы иметь возможность снова нажать кнопку. Это оно. И к сожалению это не работает. Я не понимаю, почему. Я получаю 'TypeError:' Tk 'объект не вызывается', когда я запускаю его. У кого-нибудь есть идея? Вот мой код:

from tkinter import *

def window_1():
    global window_1
    window_1 = Tk()
    button_1 = Button(window_1, text='OK', command=command_1)
    button_1.pack()
    window_1.mainloop()

def command_1():
    window_1.destroy()
    window_1()

window_1()

1 Ответ

0 голосов
/ 05 апреля 2020

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

Решение просто. Все, что вам нужно сделать, это изменить имя переменной или функции на другое.

Как это:

from tkinter import *


def window_f():
    global window_1
    window_1 = Tk()
    button_1 = Button(window_1, text='OK', command=command_1)
    button_1.pack()
    window_1.mainloop()


def command_1():
    window_1.destroy()
    window_f()


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