2017-05-23 17 views
0

私はPyQt5を使って2つのウィンドウ、メインウィンドウ、情報ウィンドウを作成しています。メインウィンドウが を開いている場合は、ボタン情報が 情報ウィンドウが開いているクリックすると、私はボタン情報PyQt5で2つのウィンドウを前後に移動するには

  • をクリックすることができ 、私はそれらを介して前後に行ってみたい、その結果

    1. 初期状態メインは、メインボタンが 情報ウィンドウがクリックされた場合、私は

    3. メインボタンをクリックすることができます 閉じています私は、メインウィンドウからプログラムを実行したい場合は開かれ、メインは

    Traceback (most recent call last): 
    File "~/Description.py", line 259, in Show_Main 
        Info.close() 
    NameError: name 'Info' is not defined 
    

    メインボタンを通じて、私は情報に行くことができるが、メインに戻ってこないだろう 、しかし

    を閉じています

    M:私は情報ウィンドウからプログラムを実行したい場合も同様に、私がメインに行くことができるが、情報へのバックアップではないだろう

    Traceback (most recent call last): 
    File "~/M.py", line 259, in Show_Main 
        Form.close() 
    NameError: name 'Info' is not defined 
    

    これは、それぞれの.pyファイルからの部分的なコードがあります.py

    from Description import Ui_Form 
    
    class Main_Form(object): 
        def setupUi(self, Form): 
         Form.setObjectName("Main") 
        . 
        . 
        . 
        def Show_Description(self): 
         self.DWindow = QtWidgets.QWidget() 
         self.ui = Ui_Form() 
         self.ui.setupUi2(self.DWindow) 
         self.DWindow.show() 
         Form.close() 
    

    descrpition.py

    class Ui_Form(object): 
        def setupUi2(self, Info): 
         Info.setObjectName("info") 
    
        def Show_Main(self): 
         from M import Main_Form 
         self.DWindow = QtWidgets.QWidget() 
         self.ui = Main_Form() 
         self.ui.setupUi(self.DWindow) 
         self.DWindow.show() 
         Info.close() 
    

    は、なぜ私はShow_Mainメソッド内Main_Formをインポートするのではなく、それの外にいます私に聞かないでください、それはそれ以外の場合はエラーを返します。

  • 答えて

    0

    エラーInfoを認識できないというエラーメッセージが表示されます。アップロードしたコードから、変数InfoがクラスUi_Formに、setupUi2によって与えられます。しかし、fucntion Show_mainは、エラーを作成しているもので、をsetupUi2に与えた変数を共有していません。インスタンス変数ではないからです。私はあなたが次のようなものを試すことができると思います。

    +0

    私はShow_Descriptionと同じコンセプトを行っていますが、今はうまくいきます。ありがとう。 – Muneera

    関連する問題