2016-12-07 11 views
1

私はGUIを作成するためにtkinterを使用していますが、現時点ではいくつかの異なるフレームがあります。私がプログラムした方法は、1つの大規模なクラスを使用するだけですが、私がオンラインで見ているところ(ここでは - 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

何をやっているが、おそらく大丈夫です。あなたがあなたの質問で説明していない多くの要素に依存するので、私は「たぶん」と言います。

参照したチュートリアルは、2つのフレームを切り替える方法を明示的に指定していたstackoverflow answerからのものです。それは必ずしもコードとして推奨される方法ではなく、単なる多くの方法の1つです。

言い換えれば、別々のページがある場合は、各ページが自己完結型オブジェクトであればコードを管理する方が簡単かもしれません。そうすることで、各ページに独自の名前空間が与えられるため、あるページが他のページに属するデータを誤って変更してしまう心配がありません。また、大規模なプロジェクトの場合は、各ページを別々のファイルに実装することができます。そのため、コードに溢れた1つの巨大なファイルで終わることはありません。

すべてのGUIがページの概念を念頭に置いているわけではないので、このテクニックはワンサイズの解決策ではありません。各ページをクラスにすることはOKですが、関数を使用して各ページを作成することもできます。選択は、クラスを操作する上での快適さ、プロジェクトのサイズ、作成するUIのタイプなど、多くの変数に依存します。

関連する問題