user interface - Python/Tkinter: reading inputs from a subwindow -


i'm preparing gui application python , tkinter (i'm newbie language).

i have main window , config sub-window text parameters open with:

def config_open():   global wdw, e   wdw = toplevel()   wdw.geometry('+400+400')    w = label(wdw, text="parameter 1", justify=right)   w.grid(row=1, column=0)   e = entry(wdw)   e.grid(row=1, column=1)   e.focus_set() 

then add "ok" button calls:

def config_save():   global wdw, e   user_input = e.get().strip()   print user_input 

it works, i'm declaring global. there better way refer elements inside subwindow?

from tkinter import *  def config_open():     wdw = toplevel()     wdw.geometry('+400+400')     # makes window modal     wdw.grab_set()      # variable store entry value     user_input = stringvar()     label(wdw, text="parameter 1", justify=right).grid(row=1, column=0)     e = entry(wdw, textvariable=user_input)     e.grid(row=1, column=1)     e.focus_set()     button(wdw, text='ok', command=wdw.destroy).grid(row=2, column=1)     # show window , wait close     wdw.wait_window(wdw)     # window has been closed     data = {'user_input': user_input.get().strip(),             'another-option': 'value of another-option'}     return data  class app:     def __init__(self):         self.root = tk()         self.root.geometry('+200+200')         self.label_var = stringvar()         self.user_input = none         button(self.root, text='configure', command=self.get_options).place(relx=0.5, rely=0.5, anchor=center)         label(self.root, textvariable=self.label_var).place(relx=0.5, rely=0.3, anchor=center)         self.root.mainloop()      def get_options(self):         options = config_open()         self.user_input = options['user_input']         self.label_var.set(self.user_input)  app() 

Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -