2017-05-02 12 views
0

これは私のメインプログラムです。私はそれを実行し、プッシュボタン付きの私のメインウィンドウを開きます。ボタンを押すと2番目のウィンドウが開きます。 2番目のウィンドウを閉じてもう一度ボタンを押すと、2番目のウィンドウは開きません。プログラムをもう一度実行して動作させる必要があります。メインウィンドウ/プログラムを閉じずにメインウィンドウからボタンを押すたびに、2番目のウィンドウを開くにはどうすればよいですか?[PyQt]プログラムを終了せずにボタンを押すたびに第2ウィンドウを開く

答えて

1

Adauga_p_cameraNoneの場合は、show()に電話する必要があります。最初のクリック後、それはもはやNoneではありません。条件外の電話をshow()に移動する必要があります。

def Adauga_p_camera(self): 
    if self.Adauga_p_camera is None: 
     self.Adauga_p_camera = Adauga_p_camera(self) 

    self.Adauga_p_camera.show() 

また、クラス、メソッド、インスタンス変数の名前としてAdauga_p_cameraという名前を再利用します。これは混乱するだけでなく、後者2の場合、実際にはself.Adauga_p_camera=Noneと書くときにメソッド定義を上書きしています。意図しない動作を避けるために、これらの各項目に一意の名前を割り当てる必要があります。

関連する問題