在 Tkinter 中跨類別存取變數
在 tkinter 中,您會遇到需要存取不同類別中定義的變數的情況。這需要在這些類別之間建立連接和引用。
建立引用
要存取另一個類別的變量,您需要取得對該類別的參考。在您的範例中,PageTwo 需要從 PageOne 存取 self.v 變數。為此,請使用以下步驟:
# Get a reference to the controller in PageOne self.controller = controller # Define a method in the controller to return a reference to any page def get_page(self, page_class): return self.frames[page_class]
透過使用此方法,您現在可以存取PageTwo 中的self.v 變量,如下所示:
# Get a reference to PageOne page1 = self.controller.get_page(PageOne) # Access the self.v variable from PageOne page1.v.set("Hello, world")
共享資料
跨類別存取變數的另一種方法是利用共享資料。在主應用程式類別(SampleApp)中建立共享變數字典,並使其透過控制器可供所有頁面存取:
# Create a dictionary of shared variables in SampleApp self.shared_data = { "username": tk.StringVar(), "password": tk.StringVar(), ... }
如下存取任意頁面中的共用資料:
# Get the shared data from the controller username_var = self.controller.shared_data["username"] # Set the username username_var.set("my_username")
透過使用共享數據,您可以解耦頁面,從而減少它們對彼此實現的依賴。這提供了更大的靈活性並簡化了維護。
以上是如何存取 Tkinter 應用程式中不同類別中定義的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!