Ich lerne Python & Tkinter und ein Tutorial folgen. Ich mache ein Programm, um das zu tun, was ich in Skriptsprachen wie Powershell mache, bekomme einen Benutzerwert und mache dann etwas damit.Python & TkInter - Wie bekomme ich Wert von Benutzer im Eingabefeld, dann drucken Sie es auf dem Terminal
Ich kann keinen Beispielcode finden, der wie meins aussieht. Also bitte ich um deine Hilfe.
Grundsätzlich erstellt dieses Programm einen Rahmen mit einem Quit Button, einem Eingabe-Widget, bei dem der Benutzer einen Wert eingibt, & eine OK-Schaltfläche. Dann drückt er die OK-Taste, und der Wert sollte im Python-Terminal gedruckt werden.
Ich bekomme einen Fehler, aber ich verstehe nicht warum. Ich folge einem Tutorial, also mache ich es so, wie sie es zeigen, indem ich eine Klasse definiere, um den Frame zu erstellen, indem ich die Schaltflächen & Textfeld darin platziere.
Die Funktion, um den Benutzereingabetext aus dem Eintrag Widget zu erhalten, ist unten, wo ich meine anderen Funktionen setzen würde, wenn ich sagen würde, ich möchte Funktionen für Schaltflächen hinzufügen, um einen Druck zu machen. Ich habe es geschafft, den Druck zu machen, wenn der zu druckende Wert vorher eingestellt wurde, aber ich kann den Wert nicht vom Eintritts-Widget erhalten.
from tkinter import *
class Window:
def __init__(self, master):
self.master = master
master.title("Get a value and print it")
self.info = Label(master, text="Please write something then click ENTER")
self.info.pack()
self.ebox= Entry()
self.ebox.pack()
self.viewnumber = Button(master, text="OK", activebackground="red", command=get_int)
self.viewnumber.pack()
self.quit = Button(master, text="Quit", activebackground="blue", command=quit)
self.quit.pack()
def get_int():
intnum = ebox.get
print(intnum)
def quit():
root.quit()
root = Tk()
root.geometry("400x400")
my_gui = Window(root)
root.mainloop()
Ich erhalte diese Fehlermeldung:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python35-32\lib\tkint
er\__init__.py", line 1549, in __call__
return self.func(*args)
File "C:\Users\USERNAME\Desktop\pyth222184.py", line 20, in get_int
intnum = ebox.get
NameError: name 'ebox' is not defined
Dank für Ihre Hilfe danken.
Also, es sagt Ihnen, dass 'ebox' nicht existiert. Wenn ich deinen Code durchschaue, muss ich zustimmen: Es gibt keine "E-Box". Es gibt eine 'self.ebox', aber 'self.ebox' ist nicht dasselbe wie' ebox'. Eine gute Faustregel beim Debuggen ist die Annahme, dass der Fehler die wörtliche Wahrheit sagt. –
Hat meine Antwort geholfen? –