2017-11-06 21 views
1

私はクラス「Client」のプログラムを持っています。私は、2つの状態(「ログイン」と「メッセージ」)の間で移行しなければなりません。 「ログイン」状態では私が表示しているLoginFrame(単純なログイン画面)が表示されますが、ログインに成功したらMessageFrame(GUIの項目)に移行したいと考えています。それは、GUIの状態を遷移させる

class Client: 
    root = Tk 

    def __init__(self): 
     self.root = Tk() 
     self.prompt_login() 

    def prompt_login(self): 
     login = LoginFrame(self.root, self) 
     self.root.mainloop() 

    def login(self, username, password): 
     #perform login logic here 
     self.transition_to_msg() 

    def transition_to_msg(self): 
     mw = MessageFrame(self.root, self) 

それは、ログインウィンドウを表示するのではなく、より移行している:これは私が持っているコードで、今、私はまだTkinterにするのは非常に新しいだと私は適切にこの移行を管理する方法がわかりませんよログインウィンドウの下にMessageFrameを表示するだけです。

私の質問はこれです:私が正しく、この移行を管理する必要がありますどのように

  1. 私は現在、(クライアントのメインプログラムクラスから分離したGUIクラスを使用して)これにアプローチしていますか、またはこのプログラムを別の方法で構成する必要がありますか?

答えて

1

両方ともFrameから継承する2つのクラスを作成します。 1つは、ログインウィンドウのすべてのウィジェットを配置することです。もう一つは、メッセージウィンドウのウィジェットです。

最初のフレームを使用してウィンドウを埋めます。トランジションしたいときは、それを破壊し、もう一方を使ってウィンドウを埋める。

関連する問題