2017-12-02 9 views
0

ウィンドウ内のボタンを押してそのウィンドウを閉じた後、新しいウィンドウを開きます。新しいウィンドウを閉じて開くPYQT5

どうすればいいですか?

私はすでにそれを試してみましたが、それは、このメッセージをコンソールに送信します。

QCoreApplication ::幹部:イベントループは、すでに私の主な問題は、私はボタンを押したときに私は「できることです

class Window(QWidget): 
    def __init__(self,parent = None): 
     super().__init__(parent) 
     self.title = 'pySim Z-eighty' 
     self.left = 0 
     self.top = 0 
     self.width = 1200 
     self.height = 3000 
     self.initUI() 

    def initUI(self): 
     self.setWindowTitle(self.title) 
     self.setGeometry(self.left, self.top, self.width, self.height) 

     self.button = QPushButton("Z80") 
     self.button1 = QPushButton() 
     self.button2 = QPushButton() 
     self.container = QWidget() 
     self.layout = QGridLayout() 
     self.layout.addWidget(self.button1, 1, 0) 
     self.layout.addWidget(self.button, 1, 1) 
     self.layout.addWidget(self.button2, 1, 2) 
     self.container.setLayout(self.layout) 
     self.layoutPrincipal = QBoxLayout(0) 
     self.layoutPrincipal.addWidget(self.container) 
     self.setLayout(self.layoutPrincipal) 
     self.button.pressed.connect(self.IniciarInterfaz) 

    def IniciarInterfaz(self): 
     self.hide() 
     app = QApplication(sys.argv) 
     ex = mainWindow() 
     ex.setStyleSheet("background-color: #fff") 
     ex.show() 
     sys.exit(app.exec_()) 

if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    ex = Window() 
    ex.show() 
    sys.exit(app.exec_()) 

を実行しているが新しいウィンドウを開く

+0

コードを表示します。 – eyllanesc

+0

あなたの質問を改善するには、次のリンクを示す内容を読むべきです:[尋ねる]、問題の原因はいくつかの原因が原因であり、推測の時間を無駄にしたくありません。 – eyllanesc

+0

私の問題は、私がボタンZ80を押してself.IniciarInterfazを呼び出すと、私の新しいウィンドウを開くことができないということです。 –

答えて

0

アプリケーション内にはQApplicationが1つしかない場合があります。すでに作成している場合は、もう一度やり直してください。

別の問題は、あなたのケースのmainWindowではコンテキスト内にのみ変数が存在することです。そのため、StartInterface関数の最後にこの変数とウィンドウがなくなります。解決策はクラスのmainWindowメンバーを作ることですコンテキストはクラスであり、もはや関数ではないので、正しく維持されます。

def IniciarInterfaz(self): 
    self.hide() 
    self.ex = mainWindow() 
    self.ex.setStyleSheet("background-color: #fff") 
    self.ex.show() 
+0

もう一度ありがとう –

関連する問題