Seite 1 von 1

ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 10:28
von jasmin.mrcr
Moin Leute,
bei mir funktioniert seit neusten die get Methode nicht mehr. Weiß jemand wie ich Zugriff auf auf die Eingabe anders bekommen kann?

Hier ein kleines Beispiel:

Code: Alles auswählen

import tkinter as tk
from tkinter import ttk



def schreiben():
    text = entry1.get()
    ttk.Label(root, text=text).pack()


root = tk.Tk()
entry1 = ttk.Entry(root).pack()

ttk.Button(root, text="drucken", command=schreiben).pack()

root.mainloop()
mit der Fehlermeldung:

Code: Alles auswählen

ttk.Label(root, text=entry1.get()).pack()
                         ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 10:40
von __deets__
Code und Fehler passen nicht zusammen. Bitte den Code zeigen, der den Fehler produziert.

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 11:41
von Dennis89
Hallo,

dann könnte man mal nachschlagen, was "pack()" denn für einen Wert zurück gibt.


Grüße
Dennis

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 11:45
von jasmin.mrcr
__deets__ hat geschrieben: Mittwoch 13. September 2023, 10:40 Code und Fehler passen nicht zusammen. Bitte den Code zeigen, der den Fehler produziert.
Tut mir leid, ich habe mich verklickt, hier nochmal die richtige Fehlermeldung:

Code: Alles auswählen

text = entry1.get()
           ^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
er nimmt aus irgendwelchen Gründen das get nicht

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 11:56
von grubenfox
Dennis89 hat geschrieben: Mittwoch 13. September 2023, 11:41 Hallo,

dann könnte man mal nachschlagen, was "pack()" denn für einen Wert zurück gibt.


Grüße
Dennis

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 15:08
von peterpy
Hallo jasmin.mrcr,

was grubenfox meint:

Code: Alles auswählen

entry1 = ttk.Entry(root).pack()
print(entry1)
Ergibt None

Verwende:

Code: Alles auswählen

entry1 = ttk.Entry(root)
entry1.pack()
Gruss Peter

Re: ttk.Entry get-Methode

Verfasst: Mittwoch 13. September 2023, 15:47
von Sirius3
Globale Variablen darf es nicht geben, alles was eine Funktion braucht muß sie über ihre Argumente bekommen:

Code: Alles auswählen

import tkinter as tk
from tkinter import ttk
from functools import partial


def schreiben(root, entry):
    text = entry.get()
    ttk.Label(root, text=text).pack()

def main():
    root = tk.Tk()
    entry1 = ttk.Entry(root)
    entry1.pack()

    ttk.Button(root, text="drucken", command=partial(schreiben, root, entry1)).pack()
    root.mainloop()

if __name__ == "__main__":
    main()

Re: ttk.Entry get-Methode

Verfasst: Donnerstag 14. September 2023, 10:16
von jasmin.mrcr
peterpy hat geschrieben: Mittwoch 13. September 2023, 15:08 Hallo jasmin.mrcr,

was grubenfox meint:

Code: Alles auswählen

entry1 = ttk.Entry(root).pack()
print(entry1)
Ergibt None

Verwende:

Code: Alles auswählen

entry1 = ttk.Entry(root)
entry1.pack()
Gruss Peter
Super danke, funktioniert!