2017-04-14 2 views
0

Ich versuche, ein GUI für ein grundlegendes Dbms-Projekt zu machen, und während Tkinter zum größten Teil ziemlich einfach scheint, ich bin nicht in der Lage zu bekommen, wie Eingabe zu nehmen und zu speichern später verwenden (wie ein, wenn die Bedingung oder etwas) zB:Verwendung von Tkinter für die Erstellung von GUI in Python

root = Tk() 
label = Label(root,text="Testing") 
label.grid(row=0) 
entry = Entry(root) 
entry.grid(row=0,column=1) 

Jetzt möchte ich, was ist der Wert/Wort benutze ich nur in das Eingabefeld schrieb es nur zu sagen, auszudrucken auf beispielsweise die Konsole.

Ich dachte, wir nur

schreiben konnten
print(entry) 

aber das justs auf der Konsole einige zufällige Dezimalzahl druckt, im Idealfall wie id den Wert in einigen Variablen speichern (wenn es nicht möglich, nur „Eintrag“ zu verwenden) also kann ich es auch in verwenden, wenn die Bedingungen etc

ich bin mit python 3

+0

Haben Sie die Dokumentation zum Eintrag-Widget gelesen? Die Methoden zum Abrufen der Daten sind dokumentiert. –

Antwort

1

Sie meinen, dass Sie einige Daten im Eintrag anzeigen möchten?

Sie können tun es einfach so:

v = StringVar() 
e = Entry(master, textvariable=v) 
e.pack() 

v.set("a default value") 
s = e.get() 

Sie nur den Wert von „v“ einstellen kann, zum Beispiel der Eintrag Show „einen Standardwert“ string. Und Sie können den Wert "get" -Methode verwenden.

+0

ich versuche, es zu kombinieren, indem ich es so verwende, dass ich einen Knopf drücke und es druckt so habe ich hinzugefügt s = v.get() button = Button (text = "enter", command = print (s)) button .grid (row = 1) aber das hat nichts gedruckt – sgman

+0

button = Button (text = "enter", command = print_fun), und in print_fun rufst du print s – hankym

+0

@hankyman ich kenne seine trivail aber ich bekomme nicht wie zu tun das, die Funktion kann keine Argumente haben cause command = Sache nimmt Funktionsname nicht mit den Klammern, wie in ich kann print_fun (s) nicht tun: Druck (s) Knopf = Knopf (Text = "enter", Befehl = print_fun) so Wie würde ich es schreiben? – sgman

1

müssen Sie den Wert abrufen:

s=entry.get() 
print(s) 
1

Durch den Druck entry drucken Sie nicht, was im Eintrag enthalten ist, sondern den eigentlichen Eintrag selbst. Sie müssen entry.get() verwenden, um den Inhalt des Eintrags zu erfassen.

print(entry.get()) 
Verwandte Themen