[ Foro de Python ]
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()
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.)