Seite 1 von 1

Tkinter fehlermeldung

Verfasst: Sonntag 28. April 2019, 19:24
von Boggel
Hallo,

ich habe jetzt mit dem Modul tkinter angefangen.
Wenn ich ein einfaches Fenster erstellen will dessen Code so lautet:

Code: Alles auswählen

from tkinter import *

root = Tk()

w = Label(root, text="Hello World")
w.pack()

root.mainloop()
Kommt die Fehlermeldung:
Traceback (most recent call last):
File "E:\Python\tkinter.py", line 1, in <module>
from tkinter import *
File "E:\Python\tkinter.py", line 3, in <module>
root = Tk()
NameError: name 'Tk' is not defined

Ich Vermute das das an Python 3 liegt, was ich benutze, weiß aber nicht wie ich das beheben soll.

Mfg Boggel

Re: Tkinter fehlermeldung

Verfasst: Sonntag 28. April 2019, 19:53
von bb1898
Nein, mit Python 3 hat das nichts zu tun. Die Fehlermeldung sagt es schon: Du hast Dein Programm offensichtlich unter dem Namen "tkinter.py" gespeichert - und verdeckst damit das tkinter-Modul der Standardbibliothek, das Du ja aber brauchst. Also: benenne Dein Programm anders, dann sollte es gehen.

Im übrigen ist Deine Form des Imports aber auch gar nicht empfehlenswert, da lauern jede Menge Namenskonflikte. Besser, und immer noch nicht gar zu viel Extra-Schreibarbeit:

Code: Alles auswählen

import tkinter as tk

root = tk.Tk()
...
und so weiter, alle Namen aus tkinter mit Präfix tk. versehen. Du siehst dann auch besser, was ein Original-tkinter-Objekt ist und was von Dir stammt - und zwar auch noch in ein paar Monaten und in einem langen Programm.

Re: Tkinter fehlermeldung

Verfasst: Mittwoch 1. Mai 2019, 19:58
von Boggel
Danke für die Verbesserungsvorschläge. Jetzt funktioniert alles wieder.