Calling function from another module

rantingrick rantingrick at gmail.com
Thu Dec 16 00:06:02 EST 2010


On Dec 15, 6:46 pm, craf <p... at vtr.net> wrote:
> Hi.
>
> The query code is as follows:
>
> ------------------------------------------------------
> import Tkinter
> import tkMessageBox
>
> class App:
>     def __init__(self, master):
>         master.protocol("WM_DELETE_WINDOW",quit)
>
> def quit():
>     if tkMessageBox.askyesno('','Exit'):
>         master.quit()
>
> master =Tkinter.Tk()
> app = App(master)
> master.mainloop()
> -------------------------------------------------------
>
> As you can see, when I run and close the main window displays
> a text box asking if you want to quit, if so, closes
> application.
>
> Question:
>
> Is it possible to define the quit() function in another separate
> module?.
> I tried it, but it throws the error that the global name
> 'master' is not defined.

Please explain in detail what the "other module" is doing. And as
written this class "app" looks pretty useless to me. Why subclass Tk
(well it appears you "tried" to subclass it anyway) just to override
capabilities that are already available within Tk?

Also i see many mistakes in this very small code sample. Using my
deductive logic leads me to believe that many mistakes in a small code
sample translates to enormous mistakes in a larger code base. So feel
free to ramble incessantly about the intricate workings of this jewel
of Python scripting you are soon to drop on this malnourished group of
coders.




More information about the Python-list mailing list