zfoxatis

python3.2_tkinterproba

Oct 18th, 2011
73
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class bszamla(tkinter.Toplevel):
  2.  
  3.     def __init__(self, parent):
  4.         super().__init__(parent)
  5.         self.parent = parent
  6.         self.accepted = False
  7.         self.transient(self.parent)
  8.         self.title("Számlák")
  9.         self.nameVar=''
  10.         wszamla = tkinter.Frame(self)
  11.        
  12.         self.adatdb=adatkezel.Database('proba9')
  13.         self.mezolista=self.adatdb.tableFieldsName('a01_fejlab')
  14.         sor=0
  15.         self.ertek={}
  16.         for mezo in self.mezolista:
  17.             exec(mezo+'=None')
  18.             exec(mezo+'Label = tkinter.Label(wszamla, text=mezo, underline=0)')
  19.             exec(mezo+'Entry = tkinter.Entry(wszamla, textvariable=mezo)')
  20.             exec(mezo+'Label.grid(row=sor, column=0, sticky=tkinter.W, pady=3,padx=3)')
  21.             exec(mezo+'Entry.grid(row=sor, column=1, columnspan=3,sticky=tkinter.EW, pady=3, padx=3)')
  22.             sor+=1
  23.        
  24.         exec(mezo+'Entry.focus_set()')
  25.        
  26.         okButton = tkinter.Button(wszamla, text="Ok", command=self.ok)
  27.         cancelButton = tkinter.Button(wszamla, text="Mégsem",command=self.close)
  28.        
  29.        
  30.         okButton.grid(row=sor, column=2, sticky=tkinter.EW, pady=3,padx=3)
  31.         cancelButton.grid(row=sor, column=3, sticky=tkinter.EW, pady=3,padx=3)
  32.  
  33.         wszamla.grid(row=0, column=0, sticky=tkinter.NSEW)
  34.         wszamla.columnconfigure(1, weight=1)
  35.         window = self.winfo_toplevel()
  36.         window.columnconfigure(0, weight=1)
  37.  
  38.         #self.bind("<Alt-n>", lambda *ignore: mezoEntry.focus_set())
  39.  
  40.         self.bind("<Return>", self.ok)
  41.         self.bind("<Escape>", self.close)
  42.  
  43.         self.protocol("WM_DELETE_WINDOW", self.close)
  44.         self.grab_set()
  45.         self.wait_window(self)
  46.  
  47.  
  48.     def ok(self, event=None):
  49.         for mezo in self.mezolista:
  50.             self.ertek.update([(mezo,eval(mezo))])
  51.             print(self.ertek)
  52.         self.adatdb.recAdd('a01_fejlab',self.ertek)
  53.         self.accepted = True
  54.         self.close()
  55.  
  56.  
  57.     def close(self, event=None):
  58.         self.parent.focus_set()
  59.         self.destroy()
  60.  
RAW Paste Data