Hi guys I have written a GUI with two tabs, Tab 1 and Tab 2 as shown below: On Tab 2 should be my settings parameters placed like "Val". If the user types a value greater than 5 in the entry field, the background color of Tab1 should be changed from light green to gray and the button "B1" should be disabled The problem is that I can't use the variable "val" from Tab2 in Tab 1, even if I have defined in every function and file as the global. It brought all the times the error message "val is not defined in Tab 1". You can run the top level "TabTop" to see my GUIs and uncomment the if part in Tab1 to see the error message. Any help is really appreciated Regards Mohsen
# Filename: Tab1.py from tkinter import * def gen_t1(frame): f = LabelFrame(frame, text='f', bg='lightgreen') f.pack(expand=True, fill='both') b1 = Button(f, text='B1').pack() ## if val > 5: ## f_enabled = 'disabled' ## f['bg'] = 'lightgray' ## else: ## f_enabled = 'normal' ## f['bg'] = 'lightgreen' ###################################### # Filename: Tab2.py from tkinter import * def gen_t2(frame): def getValue(event): val = ent.get() print(val) lbl = Label(frame, text='Val').pack() ent = Entry(frame) ent.pack() ent.insert(0, '2') ent.bind('<Return>', getValue) The code for the top level is: ###################################### # Filename: TabTop from tkinter import * from tkinter import ttk from Tab1 import gen_t1 from Tab2 import gen_t2 global nb firstTime1 = 1 firstTime2 = 1 root = Tk() root.title('Tab-Tester') root.geometry('300x200') nb = ttk.Notebook(root) tab1 = Frame(nb) tab2 = Frame(nb) nb.add(tab1, text ='Tab 1') nb.add(tab2, text ='Tab 2') nb.pack(expand = 1, fill ="both") def on_tab_change(event): global firstTime1, firstTime2 tab = event.widget.tab('current','text') if tab == 'Tab 1': print('Tab 1') if firstTime1 == 1: gen_t1(tab1) firstTime1 = 0 elif tab == 'Tab 2': print('Tab 2') if firstTime2 == 1: gen_t2(tab2) firstTime2 = 0 nb.bind('<<NotebookTabChanged>>', on_tab_change) root.mainloop() -- https://mail.python.org/mailman/listinfo/python-list