@maggus: So lange Quelltexte bitte bei bei einem Paste-Service, zum Beispiel
http://paste.pocoo.org/ ablegen. Kürzere kann man hier auch in entsprechende Code-Tags einfassen, damit die Formatierung nicht verlorengeht und Syntaxhighlighting gibt's auch.
Der Code ist überkompliziert, schwer zu verstehen und voll von unnötigen Wiederholungen. Bevor Du an der GUI weiterfeilst, solltest Du erst einmal die Logik etwas verständlicher implementieren.
Nicht vollständige Mängelliste:
Sternchenimport von `Tkinter`.
`Rechner` definiert nicht alle Attribute in der `__init__()`. Die Namen und Werte sind teilweise total nichtssagend. Was bedeuten die verschiedenen Zahlwerte, die man an `mode` binden kann? Weisst Du das selbst in einem Jahr noch?
`Rechner.next()` hat viel zuviel Copy'n'Paste-Code und ist schlecht erweiterbar.
Um Bedingungen braucht man keine Klammern. Insbesondere mit Klammern und ohne Leerzeichen zwischen dem Schlüsselwort und der Bedingung, sieht das wie ein Funktionsaufruf aus, wass es aber nicht ist.
Vor und nach Operatoren machen Leerzeichen das ganze einfacher lesbar.
Diese ganze zeichenweise Verarbeitung gehört IMHO nicht in die Rechner-Logik. Die sollte Methoden für die verschiedenen Aufgaben haben und nicht eine "Monstermethode", die Zeichenketten bzw. einzelne Zeichen interpretiert.
Die Getter in `Rechner` sind unpythonisch. Weglassen.
Warum hängt da eine 0 am Namen `Taschenrechner`?
`place()` sollte man nicht verwenden. Je nach verwendetem Betriebssystem und den jeweiligen Einstellungen von Schriftarten und -grössen, sowie der Auflösung, kann das nicht so aussehen wie's gewünscht ist, und sogar so schlimm verschoben angezeigt werden, dass das Programm nicht vernünftig bedienbar ist.
Warum hat `Taschenrechner0` Klassenattribute. `B=1983`? WTF!? Und `self.r` sollte `self.rechner` heissen.
Beim erstellen der Schaltflächen und dem laden der Bilder würde eine Schleife wieder viel von den Wiederholungen vermeiden.
Und die Methoden, die das Verhalten von den einzelnen Ereignissen implementieren sind auch zum Grossteil so ähnlich, dass man die Zusammenfassen kann. Im Grunde erfindest Du `Button` neu, so dass es sich lohnen würde das tatsächlich neu, in eine eigene `Button`-Klasse zu schreiben.