Vamos a hacer una ventana con 3 TextBox y un boton usando Tkinter en Python para entradas de texto al programa.
Para hacer usar los TextBox vamos a usar una variable extra llamada StringVar que va a servir para almacenar los valores del TextBox al cual le asignemos el StringVar.
Te puede interesar: Mostrar datos con Treeview con Tkinter/Python
Asi como existe StringVar para textos tambien existe.
- StringVar() : Almacena Text
- IntVar() : Almacena Numeros Enteros
- DoubleVar() : Almacena Numeros coma Flotante o Decimales
Si agregamos Numeros en un String var estos se tomaran como Texto y si agregamos Texto en IntVar o DoubleVar nos lanzara un error.
Ventana
Para la creacion de la ventana vamos a usar el formato de Fila/Columna y la organizacion de los elementos va a ser de la siguiente manera.
| Column=0 | Column=1 | |
| Row=0 | Label 1 | Entry 1 |
| Row=1 | Label 2 | Entry 2 |
| Row=2 | Label 3 | Entry 3 |
| Row=3 | Button |
Codigo
A continuacion el codigo de la ventana de ejemplo.
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Butones y TextBox")
root.geometry("480x270") # Definimos las medidas de la ventana principal
# Funcion que imprime o muestra los valores en la consola o terminal
def print_values():
print("Nombre:", entry_str1.get())
print("Apellidos:", entry_str2.get())
print("Direccion:", entry_str3.get())
entry_str1.set("") # Borrar datos
entry_str2.set("")
entry_str3.set("")
frame1=ttk.Frame(root, padding=10)
frame1.grid()
ttk.Label(frame1, text="Nombre").grid(column=0, row=0)
entry_str1 = StringVar() # Definimos un String Var
textbox1 = ttk.Entry(frame1, textvariable=entry_str1) # Creamos un TextBox y en el parametro textvariable le asignamos el entry_str1
textbox1.grid(column=1,row=0)
ttk.Label(frame1, text="Apellidos").grid(column=0, row=1) # Creamos un Label
entry_str2 = StringVar()
textbox2 = ttk.Entry(frame1, textvariable=entry_str2) # Creamos un TextBox 2 y en el parametro textvariable le asignamos el entry_str2
textbox2.grid(column=1,row=1)
ttk.Label(frame1, text="Direccion").grid(column=0, row=2) # Creamos un Label
entry_str3 = StringVar()
textbox3 = ttk.Entry(frame1, textvariable=entry_str3) # Creamos un TextBox 3 y en el parametro textvariable le asignamos el entry_str2
textbox3.grid(column=1,row=2)
btn1 = ttk.Button(frame1, text="Guardar", command=print_values) # boton 1 que manda a imprimir los valores en la funcion "print_values"
btn1.grid(column=1,row=3)
root.mainloop()El resultado es el siguiente.

Y cuando rellenamos los valores y damos click en el boton guadar se muestran los datos en la terminal.
