[ Foro de Python ]

Problema con tkinter

01-Apr-2022 12:59
Alberto Moreno Gil
1 Respuestas

En esta aplicación que estoy haciendo y que me funciona perfexctamente ejecutando el código, cuando  quiero entrar las variables a través de tklinter  no me reconoce nada y  me da siempre error sea añadir un registro (aquí va su código), como suprimir, como contar. Fuera de tkinter todo marcha bien. ¿ Qué estoy haciendo mal? Muchas gracias

     miConn=sqlite3.connect('personal.db')
     miCursor= miConn.cursor()
 
     miCursor.execute("""CREATE TABLE IF NOT EXISTS empleado(Id integer primary key autoincrement, nombre VarChar(50), cargo VarChar(50), salario int NOT NULL)
# Text boxes y sus labels
e1=Entry(raiz, textvariable=miId)
e1.place(x=80, y=50)

lbl_nombre=Label(raiz, text="Nombre")
lbl_nombre.place(x=50, y=50)
nombre=Entry(raiz,  width=45)
nombre.place(x=120, y=50)

lbl_cargo=Label(raiz, text="Cargo")
lbl_cargo.place(x=50, y=80)
cargo=Entry(raiz,  width=40)
cargo.place(x=120, y=80)

lbl_salario=Label( raiz, text="Salario")
lbl_salario.place(x=380, y=80)
salario=Entry(raiz,  width=10)
salario.place(x=450, y=80)

lbl_USD=Label(raiz, text="USD")
lbl_USD.place(x=560, y=80)

def crear():
     
  try:
        nNombre=nombre.get()
        nCargo= cargo.get()
        nSalario=salario.get()
        datos=nNombre, nCargo, nSalario
        miConn=sqlite3.connect('personal.db')
        miCursor=miConn.cursor()
        miCursor.execute("INSERT INTO empleado VALUES (?, ?, ?, ?)", (None, nNombre, nCargo, nSalario))
        miConn=sqlite3.connect('personal.db')
        miConn.commit()
  except:
       messagebox.showwarning("ADVERTENCIA", "Ocurrió un error al crear el registro, verifique la conexión con la BD")  
       pass
limpiarCampos()
mostrar()


02-Apr-2022 14:15
Alberto Moreno Gil

Solucionado. Había varios problemas con la ubiación de los widgets, que por lo visto la había indicado incorrectamente, me recomendaba que utilizara otra forma. He cambiado a .grid(row=...,  column= ..) , que es una forma en la que estoy más familiarizado y todo marcha bien.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)