es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema está en la forma en que se inicializan las variables usernl y passwrdnl. El método .pack() devuelve None, que luego se asigna a usernl y passwrdnl.

    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:

    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)
    usernl.pack()
    passwrdnl = tkinter.Entry(window)
    passwrdnl.pack()
    
    submitbtn = tkinter.Button(window,text="submit",command=addUsernm)
    submitbtn.pack()
    
    window.mainloop()
    

    En el código actualizado, usernl y passwrdnl se inicializan primero como widgets tkinter.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.

Comments are closed.