self.setupUi(self)
if name == ‘main’:
app = QtWidgets.QApplication(sys.argv)
a = AUi()
a.show()
b = BUi()
button是你定义的按钮
a.goButton.clicked.connect(
lambda:{a.close(), b.show()}
)
sys.exit(app.exec_())
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
登录界面: