2017-07-24 103 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_())