2016-12-07 135 views
1

所以我使用tkinter來製作一個GUI,此刻我有幾個不同的框架。我編程的方式是隻使用一個大型課程,但在我看起來在線的任何地方(如這裏 - https://pythonprogramming.net/change-show-new-frame-tkinter/),人們正在爲每一個「頁面」使用一個新課程。我做錯了/沒有效率還是很好?Tkinter框架 - 類

可惜我不能表現出我的代碼,它是一個CA,但是下面的是相似的:

class App(tk.Frame): 
    def __init__(self): 
     tk.Frame.__init(self) 
     self.PageOne() 

    def PageOne(self): 
     coding stuff 

    def PageTwo(self): 
     pass 

回答

0

你在做什麼可能是罰款。我說「可能」是因爲它取決於你在問題中沒有解釋的許多因素。

您引用的教程來自stackoverflow answer,它明確地解決了如何在兩個幀之間切換的方法。這不一定是推薦的編碼方式,它只是衆多方法之一。這就是說,如果你有不同的頁面,那麼如果每個頁面都是一個獨立的對象,你可能會發現管理你的代碼更容易。這樣做爲每個頁面提供了自己的名稱空間,因此您不必擔心一個頁面意外地修改了屬於某個其他頁面的數據。另外,對於較大的項目,它允許你在一個單獨的文件中實現每個頁面,所以你不會得到一個巨大的文件充滿代碼。

由於不是所有的GUI都圍繞頁面的概念,所以這種技術並不是一個通用的解決方案。可以讓每個頁面成爲一個類,也可以通過函數創建每個頁面。這個選擇取決於許多變量,比如你對類的處理方式,你項目的大小,你創建的UI的類型等等。