Code: Alles auswählen
mTools = Tools ()
jemand ne ahnung, wie man das macht?
Code: Alles auswählen
mTools = Tools ()
Hallo The Hit-Man!The Hit-Man hat geschrieben:nehm wir einfach 2 wxwidgets fenster ( sind ja auch klassen ) und ich möchte von dem einem zum anderen fenster, zum beispiel textfelder und so weiter ändern. wie komme ich also an die fensterklasse ran?
Ja, tut mir leid. Ich weiß, ist ne kleine Schwäche von mir. Bin recht faul geworden, mit der Zeit. Schreibe im Netz eigelich immer klein, hat sich bei mir so eingebürgert. Ich tippe des weiteren immer ziemlich schnell und die Shift-Taste stört meist ein wenig. Bitte um Entschuldigung, werde versuchen das zu ändern.Es ist nicht fair, einfach alles klein zu schreiben. Das erschwert das Lesen deiner Beiträge für mich erheblich. Ich wollte es schon lassen und dir nicht antworten.
Code: Alles auswählen
# -*- coding: utf-8 -*-
class GlobalObjects(object):
"""
Hierdran hängen wir alle globalen Objekte, die man so braucht.
Die objects werden überall mit hin geschleppt.
"""
pass
class Printer(object):
def zeigmal(self, txt):
print "zeigmal:", txt
class Logger(object):
def log(self, txt):
print "log:", txt
def sub_sub_routine(objects):
objects.log.log("blabla")
objects.printer.zeigmal("jup")
def sub_routine(objects):
objects.printer.zeigmal("wow1")
sub_sub_routine(objects)
def mein_programm():
# Erstelle mein Objekt, welches überall mit hin kommt.
objects = GlobalObjects()
# Packe alle Dinge dran, die ich brauchen kann
objects.printer = Printer()
objects.log = Logger()
sub_routine(objects)
mein_programm()
Das meinte ich mit, global machen auf Modul Ebene. Du kannst in Python immer mehrere Klassen in ein Modul stopfen. Wenn es zu unübersichtlich ist, kannst du es trennen, dennoch per from ... import ... wieder das Objekt "herreinholen".The Hit-Man hat geschrieben:Ich hatte nämlich bei wxglade gesehen, das ich beide Fenster in eine Datei packen kann. wenn ich dann ganz oben meine ToolsKlasse instanziere, kann ich sie von beiden Fenstern aus ansprechen.