Wenn man das aber auch für alle Klassen aus allen importierten Modulen durchziehen will, wird es etwas aufwendig.
Code: Alles auswählen
import AbqDraw
class Edge(object):
def __init__(self):
self.parent = None
self.label = None
self.nodes = None
self.class_id = 'FEMesh.Edge'
def create_edge(self):
pass
#########################
if __name__ == '__main__':
print 'within FEMesh.py'
edge = Edge()
draw = AbqDraw.drawing()
draw.draw_edge(edge)
Diese class id Klassen nebst class id Objekten hat man in einem Modul, das man überall importieren kann ohne kreuzweise. Das habe ich auch so gemacht mit Namen für widgets. Ein Name kann ein String sein oder ein Objekt einer Namensklasse.
Das löst natürlich nicht den Fall ganz am Anfang, nämlich dass man Edge zweimal definiert im Mainscript und im Modul.
Aber ich könnte dann den kreuzweisen Import vermeiden.
Jetzt habe ich für mich noch eine viel einfachere Lösung gefunden: ich brauche ja nicht abzufragen, ob eine Widget eine Instanz von einer meiner ttk Klassen ist, sondern es geht genauso ob es eine Instanz der original ttk Klassen ist.