PyQt5 实现多个页面跳转,我们可以借助一个 Controller
控制器来实现,大体思路如下:
# 利用一个控制器来控制页面的跳转
class Controller:
def __init__(self):
pass
def show_A(self):
# 创建 A 窗口对象并显示
# 关闭其余窗口对象
def show_B(self):
# 创建 B 窗口对象并显示
# 关闭其余窗口对象
def show_C(self):
# 创建 C 窗口对象并显示
# 关闭其余窗口对象
来看一个使用情景:
-
用 Qt designer 设计好了三个页面:
hello.py
、login.py
、operate.py
-
hello.py
中有一个 Id 为loginBuuton
的按钮,用于跳转到login.py
窗口 -
hello.py
中还有一个 Id 为operateButton
的按钮,用于跳转到operate.py
窗口
实现效果
注:由于我们的 界面 与 逻辑 是分离的,所以界面只需满足上面的使用情境中的要求即可。
运行程序启动一个 hello.py
的欢迎界面:
点击 票务管理,实际上是点击了 loginButton
按钮,跳转到了 login.py
登录界面:
如果欢迎界面中点击的是 票务查询,实际上是点击了 operateButton
,会跳转到 operate.py
界面: