Python - Error con Entry, GET()

   
Vista:

Error con Entry, GET()

Publicado por Adolfo71 (2 intervenciones) el 29/09/2014 21:01:53
Que tal compañeros, soy nuevo en el foro y en la programacion de python.

Tengo el sig codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from tkinter import *
import pypyodbc
 
root=Tk()
root.resizable(0,0)
root.geometry('600x300+500+300')
 
class principal():
    def valida_acceso() :
        connection_string ='Driver={SQL Server Native Client 11.0};Server=150.150.1.2;Database=Sh;Uid=sp;Pwd=sp;'
        connection = pypyodbc.connect(connection_string)
        SQL = "SELECT * FROM Usuarios WHERE Usuario=?"
        cur = connection.cursor()
        a=principal.pantalla_login.tbx_usuario1.get()
        cur.execute(SQL,a)
        row= cur.fetchone()
        if row:
            print (row[0], row[1])
        connection.commit()
        cur.close()
        connection.close()
 
    def pantalla_login():
        lab_titulo = Label(root, text="Acceso al Sistema", font=("Helvetica", 20, 'bold'),bg="ivory", fg='blue').grid(row=1,
                           column=2, sticky=W)
        lab_usuario = Label(root, text="Usuario: ", font=("Helvetica", 14, 'bold'),bg='red').grid(row=3, column=1, sticky=W)
        tbx_usuario = Entry(root, text="Usuario", textvariable=StringVar(), font=("Helvetica", 14),fg='blue').grid(row=3,
                            column=2, sticky=W)
        Button(root, text="Accesar".format(1),font=("Helvetica", 14,'bold'),
                            command=principal.valida_acceso).grid(row=6,column=2,sticky=E)
        root.mainloop()
 
principal.pantalla_login()


Quiero que capturen el usuario en la caja de texto, y la valide en la base de datos, el problema es que me marca error:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1487, in __call__
return self.func(*args)
File "C:\login.py", line 68, in valida_acceso
a=principal.pantalla_login.tbx_usuario1.get()
AttributeError: 'function' object has no attribute 'tbx_usuario'

Me pueden apoyar por favor!!

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Error con Entry, GET()

Publicado por xve (1229 intervenciones) el 30/09/2014 07:50:08
Hola Adolfo, lo que estas haciendo, en la linea:
1
a=principal.pantalla_login.tbx_usuario1.get()
es llamar a la clase principal, función pantalla_login, y luego llamas a tbx_usuario1, el cual no existe dentro de pantalla_login, ni como función, ni como variable, ni nada...

Que es tbx_usuario1? o donde esta definido?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con Entry, GET()

Publicado por Adolfo71 (2 intervenciones) el 30/09/2014 21:21:56
Hola gracias por la ayuda, tienes razon, pero es error de dedo, al copiar se fue ese 1 de mas, debe ser tbx_usuario y no tbx_usuario1, pero de todas formas marca el error.. el codigo que mande va sin el 1.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar