Top level window is stunned in Python TKinter 2.7

0

I need support. In the application that I am developing I put a button to open a top level window with the fields that my table has MySQL and so modify any record already created, in turn I want that top level appears a drop-down menu to select the element of the table to modify but at the time that I press the "Modify" button, the application is overwhelmed and stops responding. Why could this be happening? My code is as follows:

from Tkinter import *
import MySQLdb
import os
import tkMessageBox
import csv

#ventana

ventana = Tk()
ventana.title("Erick Finn's Reporter")
ventana.configure(background = "brown")


def insertar():
      Id = int()
      d1 = fecha_text.get()
      d2 = usuario_text.get() 
      d3 = aplicacion_text.get() 
      d4 = folio_text.get() 
      d5 = status_text.get() 
      d6 = inputway_text.get()

  conn = MySQLdb.connect(host = "127.0.0.1", user = "root", passwd = "unitec", db = "efrias002")
  cursor = conn.cursor()

  sql ='INSERT INTO base17 VALUES("%s","%s", "%s", "%s", "%s", "%s","%s")'%(Id, d1, d2, d3, d4, d5, d6)

  try:
      cursor.execute(sql)
      conn.commit()
      conn.close()
      tkMessageBox.showinfo("Info","Registro Agregado Correctamente")

  except:
      conn.rollback()
      conn.close()


def mostrar():
    conn = MySQLdb.connect(host = "127.0.0.1", user = "root", passwd = "unitec", db = "efrias002")
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM base17")
    data = cursor.fetchall()
    for item in data:
    list1.insert(END,item)
    conn.close()

def buscar():
    res = busqueda_text.get()
conn = MySQLdb.connect(host = "127.0.0.1", user = "root", passwd = "unitec", db = "efrias002")
cursor = conn.cursor()
cursor.execute("SELECT * FROM base17 WHERE usuario = %s",[res])
for item in cursor:
    list1.insert(END,item)
conn.close()

def buscar2():
     res2 = busqueda2_text.get()
conn = MySQLdb.connect(host = "127.0.0.1", user = "root", passwd = "unitec", db = "efrias002")
cursor = conn.cursor()
cursor.execute("SELECT * FROM base17 WHERE fecha = %s",[res2])
for item in cursor:
    list1.insert(END,item)
conn.close()

 def generar():
  conn = MySQLdb.connect(host = "127.0.0.1", user = "root", passwd = "unitec", db = "efrias002")
  cursor = conn.cursor()
  cursor.execute("SELECT * FROM base17")
  rows = cursor.fetchall()
  fp = open('file.csv', 'w')
  myFile = csv.writer(fp)
  myFile.writerows(rows)
  fp.close()
  conn.close()

def win2 ():
  t1 = Toplevel(bg="Brown")
  t1.title("Modificar Datos")
  t1.geometry('600x400')
  t1.focus_set()
  t1.grab_set()
  t1.transient(master=ventana)

  inf=StringVar()
  t2=Entry(t1,textvariable=inf)
  t2.grid(row=3,column=1)

  inf2=StringVar()
  t3=Entry(t1,textvariable=inf2)
  t3.grid(row=3,column=3)

  inf3=StringVar()
  t4=Entry(t1,textvariable=inf3)
  t4.grid(row=3,column=5) 

  t2l = Label(t1,text='Fecha',bg="Cyan2")
  t2l.grid(row=0, column=1)

  t3l = Label(t1,text='Usuario',bg="Cyan2")
  t3l.grid(row=0, column=3)

  t4l = Label(t1,text='Aplicacion',bg="Cyan2")
  t4l.grid(row=0, column=5)

     #menu despleglable

  OptionList = ['Fecha','Usuario', 'Aplicacion']

  listin = StringVar()
  listin.set(OptionList[0])

  men = OptionMenu(t1,listin, *OptionList)
  men.pack()

def borrar():
    list1.delete(0,END)

def salir():
    ventana.destroy()


pic = PhotoImage(file = "pwc2.gif")
wid = Label(ventana,image = pic)
wid.pack()
wid.grid(row=2, column=11,rowspan=3)

l1=Label(ventana, fg= "Blue",bg="Orange",text = "Fecha")
l1.grid(row=0,column=2)

l2=Label(ventana,fg= "Blue",bg="Orange",text = "Usuario")
l2.grid(row=0,column=3)

l3=Label(ventana, fg="Blue",bg="Orange", text = "Aplicacion")
l3.grid(row=2,column=2)

l4=Label(ventana,fg = "Blue",bg="Orange",text = "Folio Ticket")
l4.grid(row=2,column=3)

l5=Label(ventana,fg="Blue", bg="Orange",text = "Status")
l5.grid(row=4,column=2)

l6=Label(ventana,fg = "Blue",bg="Orange", text = "Input Way")
l6.grid(row=4,column=3)

l7=Label(ventana,font = "Comic",bg="DeepSkyBlue" ,text = "Resultados")
l7.grid(row=29,column=2,columnspan=3)

l8=Label(ventana,fg = "Blue",bg="Orange",text = "Busqueda por usuario")
l8.grid(row=2,column=4)

l9=Label(ventana,fg = "Blue",bg="Orange", text = "Busqueda por fecha")
l9.grid(row=4,column=4)

#campos de entrada

fecha_text=StringVar()
e1=Entry(ventana,textvariable=fecha_text)
e1.grid(row=1,column=2)

usuario_text=StringVar()
e2=Entry(ventana,textvariable=usuario_text)
e2.grid(row=1,column=3)

aplicacion_text=StringVar()
e3=Entry(ventana,textvariable=aplicacion_text)
e3.grid(row=3,column=2)

folio_text=StringVar()
e4=Entry(ventana,textvariable=folio_text)
e4.grid(row=3,column=3)

status_text=StringVar()
e5=Entry(ventana,textvariable=status_text)
e5.grid(row=5,column=2)

inputway_text=StringVar()
e6=Entry(ventana,textvariable=inputway_text)
e6.grid(row=5,column=3)

busqueda_text=StringVar()
e7=Entry(ventana,textvariable=busqueda_text)
e7.grid(row=3,column=4)

busqueda2_text=StringVar()
e8=Entry(ventana,textvariable=busqueda2_text)
e8.grid(row=5,column=4)


#definir listbox

list1 = Listbox(ventana,bg = "white",height=15, width=90)
list1.grid(row=30, column=2, columnspan=4)


#crear scroll

sb1=Scrollbar(ventana)
sb1.grid(row=30,column=6)

list1.configure(yscrollcommand=sb1.set)
sb1.configure(command=list1.yview)


#crear botones

 b1=Button(ventana, text="Crear nuevo registro",bg = "Light Green",       command=insertar)
b1.pack()
b1.grid(row=24 ,column=11)

b2 = Button(ventana, text="Mostrar Registros",bg = "Orange",   command=mostrar)
b2.pack()
b2.grid(row=26, column=11)

b3 = Button(ventana, text="Buscar por Usuario",bg = "Yellow", command=buscar)
b3.pack()
b3.grid(row=27, column=11)

b4 = Button(ventana, text="Limpiar Consulta",bg = "Light Blue", command=borrar)
b4.pack()
b4.grid(row=29, column=11)

b5 = Button(ventana, text="Salir de la App",bg = "Red",fg="Yellow", command=salir)
b5.pack()
b5.grid(row=31, column=0)

b6 = Button(ventana, text="Crear CSV",bg = "Light Gray", command=generar)
b6.pack()
b6.grid(row=30, column=11)

b7 = Button(ventana, text="Buscar por Fecha",bg = "SeaGreen1", command=buscar2)
b7.pack()
b7.grid(row=28, column=11)

 b8 = Button(ventana,text="Modificar Datos",bg="Cyan2", command=win2)
 b8.pack()
 b8.grid(row=25,column=11)

 ventana.mainloop()
    
asked by Erick Finn 16.01.2018 в 16:09
source

0 answers