elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  ayuda con Tkinter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con Tkinter  (Leído 2,482 veces)
twhite1195

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda con Tkinter
« en: 15 Abril 2015, 03:31 am »

Estoy teniendo problemas con un proyecto que debo hacer en python. Debo crear un programa para una cadena de centros comerciales, cada usuario debe inscribirse para poder comprar.
Tengo un menu principal con 3 botones, el boton de registrar me abre otra ventana con los espacios a rellenar para el usuario y un boton de "aceptar", ese boton deberia agregar los datos dados por el usuario a una lista. Mi problema es el siguiente: actualmente ya la funcion que convierte los datos de la ventana a una lista esta funcional... si la ejecuto en un archivo aparte. Al implementarla al archivo "principal" con el menu principal me da un error.

esta es la funcion que agrega los datos dados a una lista:

Código:
from tkinter import *



gui = Tk()

gui.wm_title("Registro")

milista = []

def get_data(l):
    l.append(box1.get())
    l.append(box2.get())
    l.append(box3.get())
    l.append(box4.get())
    print(l)
       
#etiqueta cedula
var1 = StringVar()
var1.set("Cedula:")
label1 = Label(gui,textvariable=var1,height = 2)
label1.grid(row=0,column=0)
#caja cedula
Cedula=StringVar()
box1=Entry(gui,bd=4,textvariable=Cedula)
box1.grid(row=0,column=1)
#etiqueta nombre
var2 = StringVar()
var2.set("Nombre:")
label2 = Label(gui,textvariable=var2,height = 2)
label2.grid(row=2,column=0)
#caja nombre
Nombre=StringVar()
box2=Entry(gui,bd=4,textvariable=Nombre)
box2.grid(row=2,column=1)
#etiqueta telefono
var3 = StringVar()
var3.set("Telefono:")
label3 = Label(gui,textvariable=var3,height = 2)
label3.grid(row=3,column=0)
#caja telefono
Telefono=StringVar()
box3=Entry(gui,bd=4,textvariable=Telefono)
box3.grid(row=3,column=1)
#etiqueta pais
var4 = StringVar()
var4.set("Pais:")
label4 = Label(gui,textvariable=var4,height = 2)
label4.grid(row=4,column=0)
#caja pais
Pais=StringVar()
box4=Entry(gui,bd=4,textvariable=Pais)
box4.grid(row=4,column=1)
#boton para salvar los datos
botonA= Button(gui, text = "aceptar",command=lambda: get_data(milista), width=5)
botonA.grid(row=0,column=2)

y este es el programa "principal":
Código:
#Importaciones de Tkinter
from tkinter import *
import tkinter.messagebox
import tkinter.font
from PIL import Image
from PIL import ImageTk

def get_data(l):
    l.append(box1.get())
    l.append(box2.get())
    l.append(box3.get())
    print(l)
#registro
def registro():
   
    #abre la ventana nueva con la funcion de registro
    registrowin=Toplevel(gui)
    registrowin.title("Registro de nuevo usuario")
    registrowin.geometry("300x300")
   
   #etiqueta cedula
    var1 = StringVar()
    var1.set("Cedula:")
    label1 = Label(registrowin,textvariable=var1,height = 2)
    label1.grid(row=0,column=0)
    #caja cedula
    Cedula=StringVar()
    box1=Entry(registrowin,bd=4,textvariable=Cedula)
    box1.grid(row=0,column=1)
    #etiqueta nombre
    var2 = StringVar()
    var2.set("Nombre:")
    label2 = Label(registrowin,textvariable=var2,height = 2)
    label2.grid(row=2,column=0)
    #caja nombre
    Nombre=StringVar()
    box2=Entry(registrowin,bd=4,textvariable=Nombre)
    box2.grid(row=2,column=1)
    #etiqueta telefono
    var3 = StringVar()
    var3.set("Telefono:")
    label3 = Label(registrowin,textvariable=var3,height = 2)
    label3.grid(row=3,column=0)
    #caja telefono
    Telefono=StringVar()
    box3=Entry(registrowin,bd=4,textvariable=Telefono)
    box3.grid(row=3,column=1)
    #boton para salvar los datos
    botonA= Button(registrowin, text = "aceptar",command=lambda: get_data(milista), width=5)
    botonA.grid(row=0,column=2)

#ventana principal
gui=Tk()
gui.wm_title("MetroPyt")
gui.geometry("400x300+400+200")

milista=[]


#boton para agregar nuevo usuario
boton1=Button(gui,text="Registarse", command=registro)
boton1.grid(row=0,column=1)
#etiqueta del registro
v1=StringVar()
v1.set("Registrarse")
l1 = Label(gui,textvariable=v1,height = 2)
l1.grid(row=2,column=1)
#boton para realizar una compra
boton2=Button(gui,text="Realizar compra")
boton2.grid(row=0, column=2)
#etiqueta de la compra
v2=StringVar()
v2.set("Realizar compra")
l2 = Label(gui,textvariable=v2,height = 2)
l2.grid(row=2,column=2)
boton3=Button(gui,text="carrito",bg="white")
boton3.grid(row=0,column=3)
#etiqueta del carrito
v3=StringVar()
v3.set("Carrito")
l3 = Label(gui,textvariable=v3,height = 2)
l3.grid(row=2,column=3)


gui.mainloop()

al ejecutarlo me dice que la variable box1 no existe, cuando claramente esta ahi, y el programa se ejecuta bien por si solo.

por favor ayudenme


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con tkinter « 1 2 »
Scripting
elhacker_carlos 14 8,206 Último mensaje 4 Julio 2011, 23:18 pm
por elhacker_carlos
Ayuda con Python, ftp y Tkinter
Scripting
Eirthur 1 4,184 Último mensaje 11 Mayo 2013, 03:56 am
por daryo
Ayuda con python tkinter
Scripting
AlbertSerres 3 4,226 Último mensaje 23 Octubre 2013, 22:11 pm
por Danyfirex
Ayuda botones Tkinter
Scripting
AlbertSerres 2 3,146 Último mensaje 23 Octubre 2013, 18:23 pm
por Eleкtro
[Python3 + tkinter] Ayuda ventanas en cascada tkinter
Scripting
darkweb64 2 4,003 Último mensaje 11 Diciembre 2015, 18:04 pm
por darkweb64
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines