[python-nl] Classes in andere modules
Martijn Pieters
mj at python.org
Wed Feb 1 18:14:47 CET 2006
Math wrote:
> *Als ik code uitvoer geeft ie de melding dat module object geen
> attribuut met naam MainApp heeft...*
> **
> Dit is MainAp in module marathon_manager:
> if __name__ == "__main__":
> MainApp = MyApp(0)
> MainApp.MainLoop()
> *Zou toch een attribuut moeten zijn van deze module of moet ie soms
> global gemaakt worden?*
> **
> *Ik heb het wel weten op te lossen middels*
> self.ChildFrame.parent = MainApp.MDIParentFrame
> *Nu heeft ChildFrame een attribuut parent...*
> *Da's wat ik wilde.*
> **
> *Mocht jij toch weten waarom versie 1 niet werkt hoor ik dit natuurlijk
> graag van je*
(Houd graag de conversatie op de lijst; ik kan niet altijd antwoorden,
terwijl er altijd wel iemand op de lijst inzichten heeft).
MainApp in marathon_manager wordt alleen gedefinieerd wanneer je
marathon_manager direct als script uitvoert. Dit omdat je test of
__name__ gelijk is aan "__main__". Dit is *niet* het geval wanneer je
marathon_manager elders importeert.
Als je MainApp ook buiten marathon_manager wil kunnen benaderen zal je
de definitie ervan buiten het if-statement moeten houden.
Martijn Pieters
More information about the Python-nl
mailing list