设置第一级界面逻辑
class FirstWindowLogic(QMainWindow, uiFirst):
def __init__(self):
super(FirstWindowLogic, self).__init__()
self.setupUi(self)
self.run()
'''设置按钮逻辑操作'''
def run(self):
self.Second_pushButton.clicked.connect(self.toSecondWindow) # 函数名后面不加(),否则会立即执行函数,而不是点击按钮执行函数
'''实现各个按钮的逻辑'''
# 跳转至第二级界面
def toSecondWindow(self):
self.ui_SecondWindow = SecondWindowLogic()
self.ui_SecondWindow.show() # 打开第二级界面
'''接受来自第二级界面发射的返回上一级界面信号'''
print("接受信号成功")
self.ui_SecondWindow.returnFirstWindowSignal.connect(self.reshow)
self.close()
def reshow(self): # 重新打开该界面
self.show()
设置第二级界面逻辑
class SecondWindowLogic(QMainWindow, uiSecond):
returnFirstWindowSignal = QtCore.pyqtSignal() # 跳转信号
def __init__(self):
super(SecondWindowLogic, self).__init__()
self.setupUi(self)
self.run()
'''设置按钮逻辑操作'''
def run(self):
self.return_pushButton.clicked.connect(self.returnFirstWindow) # 返回上一级菜单的按钮
# 向上一级界面发射跳转信号
def returnFirstWindow(self):
self.close() # 关闭自己的界面
self.returnFirstWindowSignal.emit() # 发射跳转信号
如此就可以实现在两个界面之间反复跳转
参考链接