Seite 1 von 1

Button-Problem

Verfasst: Montag 8. Juli 2019, 14:11
von fpourki
Ich bin Python-Neuling. Für die folgede SampleCode bekomme ich Fehlermeldungen:

"import tkinter

master = Tk()

var = IntVar()

c = Checkbutton(master, text="Expand", variable=var)
c.pack()

mainloop()"

master = Tk()
NameError: name 'Tk' is not defined

Process finished with exit code 1

Re: Button-Problem

Verfasst: Montag 8. Juli 2019, 14:20
von __deets__
Das ist ja auch richtig. Mit "import tkinter" bekommst du nur das Modul tkinter, nicht alles was darin enthalten ist. Und das ist auch gut so. Du musst also die Klassen, die du daraus verwenden willst, entsprechend ansprechen: tkinter.Tk(), tkinter.IntVar(), tkinter.Checkbutton().

Oft genutzt wird das aliasing in Python imports, um das etwas weniger tipp-intensiv zu machen: "import tkinter as tk". Und dann nur tk.Tk() etc.

Re: Button-Problem

Verfasst: Montag 8. Juli 2019, 16:25
von Sirius3
@fpourki: und wo Du gerade am Anfang bist, solltest Du gleich alles in Funktionen packen, dass Du nicht in Verlegenheit gerätst, aus Versehen globale Variablen benutzt:

Code: Alles auswählen

import tkinter as tk

def main():
    master = tk.Tk()
    var = tk.IntVar()
    tk.CheckButton(master, text="Expand", variable=var).pack()
    master.mainloop()

if __name__ == '__main__':
    main()