Это в значительной степени название вопроса.Мне, наверное, здесь не хватает интерпретации некоторых сигналов ...
На PyGTK я делаю:
class Foo:
def __init__(self):
self.gladefile = gladefile
self.wTree = gtk.glade.XML(self.gladefile, 'some_window')
self.window = self.wTree.get_widget('some_window')
events = { 'on_code_submit_clicked' : self.submit }
self.wTree.signal_autoconnect(events)
def submit(self):
self.window.destroy()
os.system('external_script')
code = Foo()
Что происходит, когда кнопка нажимается, она остается нажатой, а затемскрипт запускается, и после закрытия внешней программы окно «мигает», снова разрушается и воссоздается.
Я также пробовал сигналы «нажата» и «отпущена».
Мне нужно поведение:
- Нажать на кнопку
- Уничтожить текущее окно
- Запустить внешний скрипт (который откроет окно другой программы)
- Воссоздайте окно Foo () после закрытия внешнего приложения.
Я могу представить, что событие запускается во время события clicked , а непосле.Вот почему окно остается открытым.Документы PyGTK ничего не говорят о чем-то вроде gtk_signal_connect_after
на странице поляна , что делает меня совершенно потерянным из-за этого.