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

 

 


Tema destacado: Introducción a Git (Primera Parte)


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda con programa tkinter con ventanas
« en: 17 Junio 2019, 08:20 am »

hola, tengo un problema con este código ya que no me almacena los datos que uno ingresa dentro de la ventana de ingresar datos, ojalá que alguien me pudiera echar una mano:

import csv, sys, os
from tkinter import *
from tkinter import messagebox

lista=[]


def guardardatos():
   Folio=folio.get()
   Rut=rut.get()
   Nombre=nombre.get()
   Departamento=departamento.get()
   Mes=mes.get()
   Cdias=cdias.get()
   Sbase=sbase.get()
   Descuento=descuento.get()
   licencia=(Folio+";"+Rut+";"+Nombre+";"+Departamento+";"+Mes+";"+Cdias+";"+Sbase+";"+Descuento)
   lista.append(licencia)
   escribir_licencia(licencia)
   folio.set("")
   rut.set("")
   nombre.set("")
   departamento.set("")
   mes.set("")
   cdias.set("")
   sbase.set("")
   descuento.set("")


def iniciar_archivo():
   archivo = open("licencias.csv","w")
   archivo.close()

def cargar():
   try:
      archivo = open("licencias.csv","r")
   except IOError:
       iniciar_archivo()
       return
   linea = archivo.readline()
   while linea != '':
        linea.strip()
        lista.append(linea)
        linea = archivo.readline()
   archivo.close()

def escribir_licencia(licencia):
   archivo = open("licencias.csv","a")
   archivo.write(licencia + "\n")
   archivo.close()
#   messagebox.showinfo('Guardado','Licencia guardada')
   
root=Tk()
filewin = Toplevel(root) # crea la ventana hija filewin
imagen1=PhotoImage(file="licencia.gif")
label1 = Label(root, image=imagen1)
label1.grid(row=1,column=1)


#variables para almacenar datos
folio=StringVar()
rut=StringVar()
nombre=StringVar()
departamento=StringVar()
mes=StringVar()
cdias=StringVar()
sbase=StringVar()
descuento=StringVar()
cargar()

def entradadatos():
   filewin2 = Toplevel(root)
   Label(filewin2,text="").grid(row=1,column=1)
   Label(filewin2,text="Ingreso de datos").grid(row=1,column=2)
   filewin2.title('Ventana de ingreso de datos')
   filewin2.geometry('250x250')
             

   #Folio
   etiqueta_folio = Label(filewin2, text='Folio :')
   entrada_folio = Entry(filewin2, textvariable=folio)
   etiqueta_folio.grid(row=2, column=1)
   entrada_folio.grid(row=2, column=2)

   #rut
   etiqueta_rut = Label(filewin2, text='Rut :')
   entrada_rut = Entry(filewin2, textvariable=rut)
   etiqueta_rut.grid(row=3, column=1)
   entrada_rut.grid(row=3, column=2)

   #nombre
   etiqueta_nombre = Label(filewin2, text='Nombre :')
   entrada_nombre = Entry(filewin2, textvariable=nombre)
   etiqueta_nombre.grid(row=4, column=1)
   entrada_nombre.grid(row=4, column=2)

   #departamento
   etiqueta_departamento = Label(filewin2, text='Departamento :')
   entrada_departamento = Entry(filewin2, textvariable=departamento)
   etiqueta_departamento.grid(row=5, column=1)
   entrada_departamento.grid(row=5, column=2)

   #mes
   etiqueta_mes = Label(filewin2, text='Mes :')
   entrada_mes = Entry(filewin2, textvariable=mes)
   etiqueta_mes.grid(row=6, column=1)
   entrada_mes.grid(row=6, column=2)

   #cdias
   etiqueta_cdias = Label(filewin2, text='Cantidad de dias :')
   entrada_cdias = Entry(filewin2, textvariable=cdias)
   etiqueta_cdias.grid(row=7, column=1)
   entrada_cdias.grid(row=7, column=2)

   #sbase
   etiqueta_sbase = Label(filewin2, text='Sueldo base :')
   entrada_sbase = Entry(filewin2, textvariable=sbase)
   etiqueta_sbase.grid(row=8, column=1)
   entrada_sbase.grid(row=8, column=2)

   #descuento
   etiqueta_descuento = Label(filewin2, text='Descuento :')
   entrada_descuento = Entry(filewin2, textvariable=descuento)
   etiqueta_descuento.grid(row=9, column=1)
   entrada_descuento.grid(row=9, column=2)

   boton = Button(filewin2, text='Procesar', command=guardardatos(), width=10).grid(row=11, column=2)
   


menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Ingreso datos", command=entradadatos)
filemenu.add_separator()
filemenu.add_command(label="Salir", command=root.destroy)
menubar.add_cascade(label="Menú principal", menu=filemenu)
editmenu = Menu(menubar, tearoff=0)

root.config(menu=menubar) # asocia el menu a la ventana root
root.title ("Proyecto Programación I")


root.mainloop()


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.287

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: ayuda con programa tkinter con ventanas
« Respuesta #1 en: 17 Junio 2019, 10:51 am »

básicamente:
Código
  1. boton = Button(filewin2, text='Procesar', command=guardardatos(), width=10).grid(row=11, column=2)

sobran"()" al llamar a la función del botón, o sea la forma correcta:

Código
  1. boton = Button(filewin2, text='Procesar', command=guardardatos, width=10).grid(row=11, column=2)
  2.  


Código
  1. #   messagebox.showinfo('Guardado','Licencia guardada')

supongo que la comentaste porque se ejecutaba sola, osea sin hacer click en el botón.
Saludos


« Última modificación: 17 Junio 2019, 10:55 am por tincopasan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] ayuda con programa para capturar ventanas
Diseño Gráfico
skamilo 3 1,754 Último mensaje 14 Febrero 2004, 15:24 pm
por Downtown
Duda con ventanas en Tkinter en python
Scripting
XD YO 5 12,717 Último mensaje 3 Febrero 2010, 05:28 am
por XD YO
COMO ENLAZAR VENTANAS CON TKINTER AYUDA??
Scripting
elhacker_carlos 0 1,686 Último mensaje 14 Julio 2011, 22:52 pm
por elhacker_carlos
[Python3 + tkinter] Ayuda ventanas en cascada tkinter
Scripting
darkweb64 2 2,313 Último mensaje 11 Diciembre 2015, 18:04 pm
por darkweb64
Problema con Tkinter y ventanas
Scripting
Karkass 0 971 Último mensaje 28 Agosto 2017, 21:53 pm
por Karkass
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines