Seite 1 von 1

pack: NameError: name 'LEFT' is not defined

Verfasst: Samstag 25. April 2009, 22:30
von egerlach
Hallo,
warum geht w.pack(side=LEFT) hier nicht:

Code: Alles auswählen

import Tkinter as tk
root=tk.Tk()
w = tk.Label(root, text="Red", bg="red", fg="white")
w.pack(side=LEFT)
w = tk.Label(root, text="Green", bg="green", fg="black")
w.pack(side=RIGHT)
mainloop()
Fehlermeldung: pack: NameError: name 'LEFT' is not defined

Hier aber gehts! Mit "from Tkinter import *" anstelle "import Tkinter als tk" usw:
root = Tk()

Code: Alles auswählen

from Tkinter import *
root = Tk()
w = Label(root, text="Red", bg="red", fg="white")
w.pack(side=LEFT)
w = Label(root, text="Green", bg="green", fg="black")
w.pack(side=RIGHT)
mainloop()
Gruss
Eckard

Verfasst: Samstag 25. April 2009, 22:38
von audax

Code: Alles auswählen

import Tkinter as tk
root=tk.Tk()
w = tk.Label(root, text="Red", bg="red", fg="white")
w.pack(side=tk.LEFT)
w = tk.Label(root, text="Green", bg="green", fg="black")
w.pack(side=tk.RIGHT)
mainloop() 
Wenn du das Paket als "tk" importierst, dann musst du auch _alle_ Namen mit tk.NAME ansprechen anstatt mit NAME.

Verfasst: Samstag 25. April 2009, 23:24
von Leonidas
*-Imports sollte man eigentlich soweit möglich meiden.