Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Guardar dato en una variable(Tkinter)
#1
Hola,

A ver si alguien me puede ayudar, adjunto código:

Código:
from tkinter import *


# Crear la ventana principal para la aplicación GUI
root = Tk()
root.geometry(newGeometry='420x200')
root.resizable(width=False, height=False)

# Titulo de la ventana
root.title("Inte")

# Etiqueta de control Codigo
l_codigo = Label(root, text="Codigo: ").place(x=40,y=60)  # , bg="blue"

# Boton Aceptar 
boton_aceptar = Button(root, text="Aceptar",command=root.destroy).place(x=170, y=150)

string = StringVar()

# Entrada de Dato
e_codigo = Entry(root, textvariable=string, width=30).place(x=110,  y=60)
f = string.get()
print(f)

root.mainloop()


Lo que quiero hacer es crear una ventana, meter un dato tipo string y luego ese dato guardarlo en una variable(f). Creo que algo no tengo bién...... a ver si me podeís ayudar...

Gracias.
Responder
#2
Hola.

Si llamás al .get() inmediatamente después de crear la caja, siempre va a devolver una cadena vacía, porque el usuario no tuvo tiempo de escribir nada. Sería mejor agregar un botón para que el usuario presione cuando haya terminado de escribir, y ahí obtener el dato.

Te recomiendo esta introducción a Tk que explica este tipo de conceptos fundamentales: https://recursospython.com/guias-y-manua...a-tkinter/.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Hola,

Código:
import pyautogui
import os
import shutil
import tkinter as tk
from tkinter import ttk



# Funcion para obtener el código
def guardar_dato():
    obtener_codigo = str(caja_codigo.get())
    return(obtener_codigo)
    ventana.destroy()
 

# Crear la ventana principal para la aplicación GUI
ventana = tk.Tk()

# Titulo de la ventana
ventana.title("Interoperabilidad")
ventana.config(width=300, height=200)

# Etiqueta de control Código
etiqueta_codigo = ttk.Label(text="Codigo:", font=("Arial",15))
etiqueta_codigo.place(x=40, y=20)

# Entrada de Dato
caja_codigo = ttk.Entry()
caja_codigo.place(x=120, y=23, width=100)

# Boton Aceptar
boton_aceptar = ttk.Button(text="Aceptar", command=guardar_dato)
boton_aceptar.place(x=100, y=100)




#Mostar ventana
ventana.mainloop()

f = boton_aceptar


a = f[0:3]
b = f[3:5]
c = f[0:7]

Ahora he hecho este código, me gustaría que el programa me guarde en una variable "f" el código que introduzco en la ventana.....con la función consigo que al dar al boton aceptar me devuelva el código y cierre la ventana, pero no se como hacer para que me guarde el código introducido en una variable"f" para seguir con el programa.

Saludos
Responder
#4
En ese caso podrías usar una variable global, aunque no es de lo más elegante:

Código:
f = None

# Funcion para obtener el código
def guardar_dato():
    global f
    obtener_codigo = str(caja_codigo.get())
    f = obtener_codigo
    ventana.destroy()

Acá tenés un ejemplo mejor, al final del artículo: https://recursospython.com/guias-y-manua...s-tkinter/.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#5
Ya lo he solucionado.

Muchas gracias.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)