Unterschied Tkinter/tkinter - Modul python2/python3 ?

Fragen zu Tkinter.
Antworten
ThomasDD
User
Beiträge: 14
Registriert: Mittwoch 29. November 2017, 11:24

Hallo,

Kurzfassung:
(Wie) kann/sollte man Beispiele für python2/Tkinter in python3/tkinter übernehmen ?

Langfassung:
Bin ganz neu in Python (mein erster Tag) und habe beim ausprobieren von Beispielen aus dem Internet gemerkt, dass das Modul in python3 tkinter und nicht Tkinter heisst wie in python2. Das ist aber offensichtlich nicht der einzige Unterschied, bestimmte Funktionen die dummerweise mein Wunschbeispiel gerade hat wie

from tkFileDialog import askopenfilename

gibts in tkinter auch nicht.

Manche Tipps zu Tkinter wiederum, die man in Foren so findet, fuktionieren aber mit tkinter auch.


Es geht jetzt nicht konkret um die o.g. Funktion, aber sollte man also generell Beispiele mit dem Modul Tkinter für das Modul tkinter

- gar nicht übernehmen, weil man dann ewig rumprobiert und am Ende schlechten Stil lernt oder 'deprecated' Funktionen verwendet
- nur unter bestimmten Bedingungen übernehmen (welche? wie ?)
- mit folgedem Trick/Konvertierungstool/Referenzzuordnungen immer übernehmen, kein Problem

?

Danke und LG
Thomas
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

übernehmen kann man das schon. Unter Python3 wurde der Namensraum vereinheitlich, das liegt jetzt alle im Modul `tkinter`. Eine ganze gute Übersicht gibt's hier: http://python-future.org/compatible_idioms.html#tkinter

Außerdem hat Python 3 normalerweise das Programm `2to3`an Bord, welche Python2 Code auf Python3 "umwandelt". Wie gut das bei Tkinter funktioniert kann ich dir nicht sagen, habe ich selber noch nie probiert.

Gruß, noisefloor
ThomasDD
User
Beiträge: 14
Registriert: Mittwoch 29. November 2017, 11:24

Danke für die Tipps, sowas hatte ich gesucht.

Ja 2to3 setzt auch Tkinter um, hat zumindest bei dem einfachen Beispiel alles funktioniert.
Antworten