22.10.2011

Python a glade - první krůčky

První krůčky s vytvářením python gtk aplikací pomocí designeru glade.

Nejprve si nainstalujeme balíček glade a potřebné knihovny pro python. Glade slouží jako gui designer, který celý návrh ukládá do formátu XML.

sudo apt-get install glade python-glade

Vytvoříme si je jednoduchý projekt. Postup je celkem jednoduchý a intuitivní. Soubor uložéme jako soubor test.glade.

Po vytvoření dvou tlačítek si vytvoříme jednoduchý program, který bude schopný odchytávat jednotlivé události nad tlačítky. Celý program pak můžete vidět níže. Duležitou metodou je "builder.get_object", ten nám umožňuje získat objekt z návrhu glade a přiřadit mu parametry.

Pro propojení aktivních prvků (tlačítka) s akcí slouží metoda "connect". Pro stisknutí tlačítka použijeme "connect", pro ukončení okna "destroy".

        self.button1.connect("clicked",self.on_click)
        self.button1 = builder.get_object("button1")

celý program vypadá následovně:

#!/bin_python

import sys
try:
 	import pygtk
  	pygtk.require("2.0")
except:
  	pass
try:
	import gtk
  	import gtk.glade
except:
	sys.exit(1)

class MainGtk:
    def __init__(self):
        self.gladefile = "test.glade"  
        builder = gtk.Builder()
        builder.add_from_file(self.gladefile)
        builder.connect_signals(self)

        self.button1 = builder.get_object("button1")
        self.button2 = builder.get_object("button2")

        self.button1.connect("clicked",self.quit)
        self.button2.connect("clicked",self.on_click)

        self.window = builder.get_object("window")
        self.window.connect("destroy",self.quit)
        self.window.show()

    def on_click(self,data):
        print "tisk:", data

    def quit(self,data):
        gtk.main_quit()

if __name__ == "__main__":
    oMain = MainGtk()
    gtk.main()




Přidat komentář