LINUX.ORG.RU

pyGTK, пропадают виджеты


0

1

Здравствуйте! Написал небольшой скрипт на Python с использованием PyGTK.

class Gui():
blah blah blah
    def start(self):
        if not self.window.get_visible(): # Если окно невидимо
            self.window.set_visible(True) # Показываем его
            self.window.set_child_visible(True) # Показываем дочерние виджеты (кнопки, label и т. д.)
        urlopen(myurl).read()
        self.text = database.preparation_results(tmp1)
blah blah blah
Как вы поняли, этот код отвечает за вызов окна, но он работает только один раз, во второй, третий и т. д. появляется пустое окно без виджетов. Вот код для скрытия окна:
class Gui():
blah blah blah
    def close_app(self, widget):
        print 'Скрытие окна...'
        self.window.set_visible(False) # Скрываем его
blah blah blah
Код ошибок не вызывает, всё работает, но окно пустое. Заранее спасибо.

читайте внимательно доку. там есть функция для рекурсивного отображения...

AGUtilities ★★★ ()
Ответ на: комментарий от AGUtilities

Спасибо

Спасибо за совет! Вы случайно не про gtk.Widget.show_all()? Она к сожалению тоже не работает.

fonter ()
Ответ на: комментарий от AGUtilities

и ЕМНИП, нужно отлавливать закрытие

self.window1.connect('delete-event', self.window1.hide_on_delete)

AGUtilities ★★★ ()
Ответ на: Спасибо от fonter

значит вы просто удаляете все элементы окна - отображать нечего

AGUtilities ★★★ ()
Ответ на: комментарий от AGUtilities

Заменил self.window.hide() на self.window.hide_on_delete, всё заработало как и было задумано, спасибо, задача решена.

fonter ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.