这里主要简单模拟点击按钮实现两个界面间的来回跳转,包含两个ui文件及对应的py文件,以及两个分别继承了界面类的py文件。下面是我的项目架构图:
其中,main_window.py对应Window.py,rain_window.py对应rain_server.py。
main_window.py为主界面所在文件,rain_window.py为子界面所在文件。
main_window.py代码:
from PyQt5.QtCore import Qt
from page.rain_window import rain_ui
from ui.Windows import Ui_Form
from PyQt5.QtWidgets import QWidget
class main_ui(QWidget, Ui_Form):
def __init__(self):
super(main_ui, self).__init__()
self.setupUi(self)
self.rain_server = rain_ui() # 实例化一个子界面的对象
self.init_solt() # 初始化槽函数
def init_solt(self):
self.Reverse_image_Btn.clicked.connect(self.cap_open) # 连接打开子界面槽函数
self.Home_Btn.clicked.connect(lambda: self.closeEvent(self)) # 连接关闭界面槽函数
self.rain_server.pushButton.clicked.connect(self.cap_close) # 连接子界面跳转回主界面函数
def cap_open(self):
"""
# 打开子界面函数
:return:
"""
self.hide() # 将主页面隐藏
self.rain_server.show() # 显示子界面
def cap_close(self):
"""
# 关闭子界面打开主界面函数
:return:
"""
self.rain_server.close() # 关闭子界面
self.show() # 显示主界面
rain_window.py代码:
from PyQt5.QtWidgets import QWidget
from ui.rain_server import Ui_Form
class rain_ui(QWidget, Ui_Form):
def __init__(self):
super(rain_ui, self).__init__()
self.setupUi(self)
run.py代码:
import sys
from PyQt5.QtWidgets import QApplication
from page.main_window import main_ui
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = main_ui()
main_window.show()
sys.exit(app.exec_())