Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyGTK: окно пустое при повторном открытии [RSS Feed]

#1 Фев. 13, 2012 06:52:33

mrDoctorWho
От:
Зарегистрирован: 2012-02-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

PyGTK: окно пустое при повторном открытии

Пишу приложение на PyGTK с использованием интерфейса, созданного в Glade. Столкнулся с проблемой: после первого открытия окна (окна с настройками) всё проходит нормально, а если открыть второй раз, то окно появляется пустым. Собственно, код:

class StatusIcon(gtk.Builder):
def __init__(self):
super(StatusIcon, self).__init__()
self.statusicon = gtk.StatusIcon()
self.statusicon.set_from_file("../../images/favicon.png")
self.statusicon.connect("popup-menu", self.right_click_event)
self.statusicon.set_tooltip("StatusIcon Example")

def right_click_event(self, icon, button, time):
menu = gtk.Menu()
update = gtk.ImageMenuItem(gtk.STOCK_REFRESH)
about = gtk.ImageMenuItem(gtk.STOCK_ABOUT)
settings = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES)
quit = gtk.ImageMenuItem(gtk.STOCK_QUIT)
about.connect("activate", self.show_about_dialog)
settings.connect("activate", self.settings)
quit.connect("activate", gtk.main_quit)
menu.append(settings)
menu.append(update)
menu.append(about)
menu.append(quit)
menu.show_all()
menu.popup(None, None, gtk.status_icon_position_menu, button, time, self.statusicon)

def __getattr__(self, attr):
obj = self.get_object(attr)
if not obj:
raise AttributeError('object %r has no attribute %r' % (self,attr))
setattr(self, attr, obj)
return obj

def settings(self, widget):
self.add_from_file("./1.glade")
self.connect_signals(self)
agroup = gtk.AccelGroup()
self.window1.add_accel_group(agroup)
self.window1.show_all()
Также, наткнулся на ещё несколько проблем: я могу получить информацию из entry, но не могу её изменить (меняю так: entry2.set_text(“text”), а также никак не получается менять spinbutton. Это моё первое GUI-приложение.



Офлайн

  • Начало
  • » GUI
  • » PyGTK: окно пустое при повторном открытии[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version