Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: domitea 15 Července 2012, 19:10:00

Název: Python - jak načíst gladefile
Přispěvatel: domitea 15 Července 2012, 19:10:00
Zdravím,

Snažím se jako nováček podle tutoriálu načíst gladefile do pythoního programu, nicméně nějak se mi to nedaří :(
Kód: [Vybrat]
import sys
try: 
    import pygtk 
    pygtk.require("2.0") 
except: 
    pass 
try: 
    import gtk 
    import gtk.glade 
except: 
    print("GTK Not Availible")
    sys.exit(1)

class calcul:
    wTree = None
    def __init__(self):
       
       
          # Nacteni souboru s UI
        self.gladefile = "calculWindow.glade"
        self.wTree = gtk.glade.XML(self.gladefile, "Window1")
         # Vytvoreni slovniku k funkcim a signalum
        dic = {
        "on_btn_plus_clicked" : self.on_btn_plus_clicked,
        "on_btn_minus_clicked" : self.on_btn_minus_clicked,
        "on_btn_krat_clicked" : self.on_btn_krat_clicked,
        "on_btn_deleno_clicked" : self.on_btn_deleno_clicked
        }
        # Spojeni fci a signalu dohromady
        self.wTree.signal_autoconnect( dic )
       
        def on_btn_plus_clicked(self):
            # do some
            sys.exit(0)
       
                   
if __name__ == "__main__":
calcul = calcul()
gtk.main()

Krachne to na napojování signálů na metody ("on_btn_plus_clicked" : self.on_btn_plus_clicked, AttributeError: calcul instance has no attribute
'on_btn_plus_clicked'), ale když ten auto_connect vyšachuju tak to funguje jako hello word ;D
Název: Re:Python - jak načíst gladefile
Přispěvatel: MacHala 15 Července 2012, 20:57:47
Hoj,
sice je pro me pygtk spanelska vesnice, ale tady je ocividne, ze se snazis napojit signal na neexstujici metodu - mozna mela ta trida "calcul" odnekud ty neexistujici metody dedit?
Název: Re:Python - jak načíst gladefile
Přispěvatel: starenka 16 Července 2012, 00:31:40
+ nikdy, pokud opravdu nevis proc, nepouzivej takle obecnej except - tady konkretne pouzij
Kód: [Vybrat]
except ImportError