Ottieni l'input dalla casella di testo Tkinter
- Codice di esempio per ottenere l’input dal widget di testo Tkinter
-
Codice di esempio per recuperare l’input senza
newline
alla fine dal widget di testo Tkinter
Il widget Tkinter Text ha il metodo get()
per restituire l’input dalla casella di testo, che ha l’argomento della posizione start
e un argomento end
opzionale per specificare la posizione finale del testo da caricare.
get(start, end=None)
Se end
non viene fornito, verrà restituito solo un carattere specificato nella posizione start
.
Codice di esempio per ottenere l’input dal widget di testo Tkinter
import tkinter as tk
root = tk.Tk()
root.geometry("400x240")
def getTextInput():
result = textExample.get("1.0", "end")
print(result)
textExample = tk.Text(root, height=10)
textExample.pack()
btnRead = tk.Button(root, height=1, width=10, text="Read", command=getTextInput)
btnRead.pack()
root.mainloop()
result = textExample.get("1.0", "end")
La posizione del primo carattere nel widget Text
è 1.0
e potrebbe essere indicato come un numero 1.0
o una stringa 1.0
.
"end"
significa che legge l’input fino alla fine della casella Text
. Potremmo anche usare tk.END
invece della stringa "end"
qui.
Il piccolo problema se specifichiamo "end"
come posizione finale del testo da restituire, include anche il carattere di nuova riga \n
alla fine della stringa di testo, come puoi vedere dall’animazione sopra.
Potremmo cambiare l’argomento "end"
del metodo get
in "end-1c"
se non vogliamo la nuova riga nell’input restituito.
"end-1c"
significa che la posizione è un carattere prima di "end"
.
Codice di esempio per recuperare l’input senza newline
alla fine dal widget di testo Tkinter
import tkinter as tk
root = tk.Tk()
root.geometry("400x240")
def getTextInput():
result = textExample.get(1.0, tk.END + "-1c")
print(result)
textExample = tk.Text(root, height=10)
textExample.pack()
btnRead = tk.Button(root, height=1, width=10, text="Read", command=getTextInput)
btnRead.pack()
root.mainloop()
Qui, potremmo anche usare tk.END+"-1c"
oltre a "end-1c"
per eliminare l’ultimo carattere - \n
, perché tk.END = "end"
, quindi tk.END+"-1c"
è uguale a "end"+"-1c"
="end-1c"
.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook