Изменить статус счетчика с классом Glade Gtk+ python3
Я начинаю изучать python3, используя gtk+ для создания пользовательского интерфейса.
Поэтому мне нравится, чтобы спиннер начал работать в моем интерфейсе при нажатии кнопки, но ничего не происходит при нажатии кнопки
если я буду следовать GTK+ учебник, то спиннер будет работать нормально. Но мне нравится использовать класс в моем коде. Мне нравится здесь sugestion ( http://python-gtk-3-tutorial.readthedocs.org/en/latest/builder.html), чтобы создать некоторый класс для вызова действий в connect_signals
кто-нибудь может мне помочь?
мой код Python:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
try:
from gi.repository import Gtk
except ImportError:
print >> sys.stderr, 'ERRO: requer a lib python3-gi'
sys.exit(1)
require_version('Gtk', '3.0')
class application:
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file("stack.glade")
self.builder.connect_signals(actions())
self.spinner = self.builder.get_object("spinner1")
def spinner_start(self):
self.spinner.start()
class actions:
def onDeleteWindow(self, *args):
Gtk.main_quit(*args)
def onButtonClick(self, widget, button="button1"):
application().spinner_start()
if __name__ == "__main__":
main = application()
window = main.builder.get_object("window1")
window.show()
Gtk.main()
моя поляна:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.12"/>
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkEntry" id="entry1">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="onButtonClick" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSpinner" id="spinner1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>