2017-07-24 105 views
-1

我是比較新的GUI設計更改第二個窗口,我要的是很簡單的:PyQt5如何當第一窗口關閉

假設我有兩個窗口,在第一個窗口關閉時,它會改變標籤第二個窗口上的文本。

任何幫助將不勝感激!謝謝

+0

你自己嘗試什麼嗎?編輯你的代碼所取得的成就。 –

+0

請給出您的代碼 – eyllanesc

+0

下面顯示的代碼 – Shawn

回答

-1

我只是讓它自己工作,基本的想法是將一個窗口對象傳遞給另一個窗口進行修改。

例如,當窗口2關閉,我會改變窗口1:

from PyQt5 import QtWidgets 
import sys 

class window_1(QtWidgets.QWidget): 
    #Initilization stuff 
    def __init__(self): 
     super(window_1,self).__init__() 
     self.setGeometry(50,50,500,500) 
     self.Label = QtWidgets.QLabel(self) 
     self.Label.setGeometry(100,100,200,10) 
     self.Label.setText('Second Window Not closed yet') 
     self.show() 


class window_2(QtWidgets.QWidget): 
    #Pass win1 object during initialization 
    def __init__(self,win1_obj): 
     super(window_2,self).__init__() 
     self.setGeometry(600,50,500,500) 
     self.win1_obj = win1_obj 
     self.show() 

    #Define what happens when window2 closes 
    def closeEvent(self,event): 
     self.win1_obj.Label.setText('Second Window closed!') 



app = QtWidgets.QApplication(sys.argv) 
win1 = window_1() #window1 object 
win2 = window_2(win1) #pass window1 object to window2 class 
sys.exit(app.exec_())