[python] Tkinter a OOP

Pavel Svobodník pavel na svobodnik.cz
Sobota Únor 10 14:08:14 CET 2007


Leos Pol napsal(a):
> Pavel Svobodník wrote:
>   
>> Dobrý den, tak opět jsem narazil na jeden problém který nevím jak 
>> vyřešit a tak jsem se rozhodl poprosit o pomoc
>> Mám program ve kterém mám různé funkce a do kterého importuju modul.py 
>> ve kterém mám garfické rozhraní.
>> Toto grafické rozhraní bych chtěl udržovat odděleně ve vlastním modulu 
>> od ostatního kódu.
>> Ale mám problém s tím jak donutit button OK k tomu aby zavolal funkci 
>> test() v hlavním programu ne v importovaném modulu.
>> Děkuju za radu
>> Pavel Svobodník
>>     
>   Dobry den, je toto reseni, ktere hledate?
>
>     # -*- coding: utf-8 -*-
>     from Tkinter import *
>
>     class rozhrani:
>         def __init__(self, master, callback):
>             self.callback = callback
>             self.master = master
>             self.master.title("test")
>            
>         def zpracuj(self):
>             prochazej = Button(self.master, text = 'OK', command =
>     self.callback.test)
>             prochazej.grid(row = 0, column = 0, sticky = 'w')
>            
>     -------------------------------------------------------
>     # -*- coding: utf-8 -*-
>     from Tkinter import *
>     import modul
>
>     class Callback:
>
>         @staticmethod
>         def test():
>             print "test v hlavnim programu"
>
>     root = Tk()
>     gui = modul.rozhrani(root, Callback)
>     gui.zpracuj()
>     root.mainloop()
>
> Leo
>   
Děkuju, to je přesně to co jsem hledal
Pavel


Další informace o konferenci Python