Первое окно Python Tkinter работает, но остальные пустые

Я думаю, мне не хватает чего-то базового в Tkinter.

Как правильно создать несколько окон с одним и тем же скрытым корневым окном? Я могу открыть одно окно, но как только оно закроется, последующие будут пустыми, без каких-либо виджетов. Я' Я также заметил, что если я оставляю корневое окно видимым, оно исчезает, когда я закрываю первое «настоящее» окно.

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

Я пробовал использовать .quit () или .destroy () , чтобы закрыть окна, и поместите циклы mainloop () s и wait_window () в разные места, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: он исчезает, когда я закрываю первое «настоящее» окно.

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

Я пробовал использовать .quit () или .destroy () , чтобы закрыть окна, и поместил mainloop () s и wait_window () зацикливаются в разных местах, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: он исчезает, когда я закрываю первое «настоящее» окно.

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

Я пробовал использовать .quit () или .destroy () , чтобы закрыть окна, и поместил mainloop () s и wait_window () зацикливаются в разных местах, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО:

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

Я попытался использовать .quit () или .destroy () , чтобы закрыть окна, и поместил mainloop () s и wait_window () циклы в разных местах, но либо все еще имеет ошибку, либо что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО:

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

Я попытался использовать .quit () или .destroy () , чтобы закрыть окна, и поместил mainloop () s и wait_window () циклы в разных местах, но либо все еще имеет ошибку, либо что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: а мой реальный код довольно сложен и должен выполняться внутри другой (еще более сложной) программы.

Я пробовал использовать .quit () или .destroy () чтобы закрыть окна, и поместить циклы mainloop () и wait_window () в разные места, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: а мой реальный код довольно сложен и должен выполняться внутри другой (еще более сложной) программы.

Я пробовал использовать .quit () или .destroy () чтобы закрыть окна, и поместить циклы mainloop () и wait_window () в разные места, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: и поместите циклы mainloop () s и wait_window () в разные места, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: и поместите циклы mainloop () s и wait_window () в разные места, но либо все еще имеет ошибку, либо происходит что-то еще хуже. Я думаю, что я ищу просто другую точку зрения.

Моя проблема похожа на здесь , но я не смог получить ничего нового из ответа.

Любые идеи? Я знаю, что это немного расплывчато. Спасибо

РЕШЕНО: Наверное, это никому не поможет, но я разобрался в проблеме. У меня есть несколько классов окон, каждый из которых является производным от Tkinter.Toplevel. В моем базовом классе Window я создал функцию close () , которая вызывает self.destroy () . Затем в его подклассы я добавил собственный код для хранения их геометрии и т.д. и, наконец, вызвал Window.close (self) . Что-то в этом отношении не работает, потому что, если я просто использую self.quit () вместо вызова close () суперкласса, все будет в порядке.

1
задан Jeff 16 October 2010 в 08:45
поделиться