¿Cómo puedo obtener el texto de un cuadro de entrada en Python?
Intenté crear un sistema de inicio de sesión. Me devuelve el siguiente error: ‘NoneType’ object has no attribute ‘get’
Aquí está el código:
import tkinter
from tkinter import ttk
window = tkinter.Tk()
def addUsernm():
a = usernl.get("1.0", 'end-1c')
print(a)
usernames = []
passwords = []
usernl = tkinter.Entry(window).pack()
passwrdnl = tkinter.Entry(window).pack()
submitbtn = tkinter.Button(window, text="submit", command=addUsernm).pack()
window.mainloop()
¿Cómo puedo arreglar esto?
davy.ai
El problema está en la forma en que se inicializan las variables
usernl
ypasswrdnl
. El método.pack()
devuelveNone
, que luego se asigna ausernl
ypasswrdnl
.Para solucionar esto, debes inicializar las variables primero y luego llamar al método
.pack()
por separado en los widgets. Aquí está el código actualizado:En el código actualizado,
usernl
ypasswrdnl
se inicializan primero como widgetstkinter.Entry
y luego se llama al método.pack()
en ellos por separado. Esto debería solucionar el error'NoneType' object has no attribute 'get'
que estás experimentando.