Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2009 21:58:39

gman
От:
Зарегистрирован: 2009-03-12
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

уничтожить Tk окно

ситуация такая, в коде порождается запрос файла на открытие, вместе с ним появляется еще одно пустое окно, я так понимаю корневое, после выбора файла/отмены окно выбора исчезает, а корневое нет, продолжает висеть и не закрывается пока не завершить весь код(а он в цикле).
Как бы ето окно уничтожать после использования?

from tkFileDialog import askopenfilename
fl = askopenfilename()
print fl
while 1:
pass #тут оно уже не надо



Отредактировано (Авг. 12, 2009 21:59:21)

Офлайн

#2 Сен. 1, 2009 21:19:51

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

уничтожить Tk окно

Нашел этот вопрос. %)
Почему то вспомнилось как то криво. Но смысл тот же. С помощью класса наследующего фрейм и глобальной переменной всё решается.

>>> from tkinter import *
>>> import tkinter.messagebox as mbox
>>> i_do_not_wanna_die = False
>>> class Ask(Frame):
def __init__(self, master=None, callback=None):
Frame.__init__(self, master)
self.grid()
global i_do_not_wanna_die
i_do_not_wanna_die = mbox.askyesno("Hmmm...",
"Are you give me a dollar?")
self.winfo_toplevel().destroy()


>>> def test():
App = Ask()
App.mainloop()
for i in range(10):
if i_do_not_wanna_die:
print("You can live :).")
else:
print("You don't deserve even a death!")


>>> test()
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!
You don't deserve even a death!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version