2017-03-14 39 views
0

下面是我的代碼的一部分。我遇到的問題是我想在我的主窗口中向Tkinter條目插入一個值,但是當我調用變量'selected_db'時,我得到了A的值。我想要在'OK按鈕'後獲取值,被點擊,所以我得到的價值B在一個事件(在Tkinter按鈕中)和另一個類的實例中更新類中的變量

我不知道該怎麼做,或者如果這甚至接近正確的方式做到這一點,所以我真的很感謝這裏的一些幫助。

在此先感謝

Main_Window(): 

    def browse_db(self): 
     my_dbs = Databases() 
     self.db_entry.insert(0,my_dbs.selected_db) 

    def __init__(self): 

     self.main_window = Tkinter.Toplevel() 
     self.db_entry = ttk.Entry(self.main_window, width=10) 
     self.db_entry.grid(row=1, column= 1) 

Databases(): 

    def __init__(self): 

     self.selected_db = A 
     self.db_window = Tkinter.Toplevel() 
     okButtom = ttk.Button(self.db_window, command=self.grab_db).grid(row=1, column=1) 

    def grab_db(self): 
     self.selected_db = B 

回答

0

很難說沒有一個完整的,工作的例子,但我想你問的是如何讓你的主窗口等待您的彈出退出。換句話說,我們通常稱之爲「模態窗口」。要做到這一點,你需要到主窗口傳遞給Toplevel呼叫,並在彈出的__init__方法的末尾添加這些命令:

self.transient(master) # set to be on top of the main window 
self.grab_set() # hijack all commands from the master (clicks on the main window are ignored) 
master.wait_window(self) # pause anything on the main window until this one closes 
+0

這正是我所需要的!謝謝!如果問題不夠清楚,我很抱歉。 – munoz

相關問題