在Python中实现用户界面跳转通常有以下几种方法:
使用QStackedWidget(适用于PyQt或PySide):
from PyQt5.QtWidgets import QApplication, QMainWindow, QStackedWidget, QPushButton, QWidget, QVBoxLayout, QLabelclass PageOne(QWidget):def __init__(self, switch_page):super().__init__()layout = QVBoxLayout()layout.addWidget(QLabel('This is Page One'))button = QPushButton('Go to Page Two')button.clicked.connect(lambda: switch_page(1))layout.addWidget(button)self.setLayout(layout)class PageTwo(QWidget):def __init__(self, switch_page):super().__init__()...app = QApplication(sys.argv)main_window = QMainWindow()stacked_widget = QStackedWidget()page_one = PageOne(lambda: stacked_widget.setCurrentIndex(1))page_two = PageTwo(lambda: stacked_widget.setCurrentIndex(2))stacked_widget.addWidget(page_one)stacked_widget.addWidget(page_two)main_window.setCentralWidget(stacked_widget)main_window.show()sys.exit(app.exec_())
使用wxPython:
import wxclass Withdrawal1(wx.App):def doClose(self, j):time.sleep(j)self.frame.Close()def __init__(self, YuanZhangH):self.YuanZhangH = YuanZhangHwx.App.__init__(self)self.frame = wx.Frame(parent=None, title='取款', size=(535, 450), style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)panel = wx.Panel(self.frame, -1)...app = Withdrawal1(None)app.MainLoop()

使用Tkinter:
import tkinter as tkdef enter():root = tk.Tk()root.title('信息界面')...root.mainloop()if __name__ == '__main__':enter()
使用Flask进行页面跳转:
from flask import Flask, redirectapp = Flask(__name__)@app.route('/redirect')def redirect_page():return redirect('/target')if __name__ == '__main__':app.run()
使用自定义窗口切换:
class StartApp():def __init__(self):self._frame = Nonedef switch_frame(self, frame_class):new_frame = frame_class()if self._frame is not None:self._frame.destroy()self._frame = new_frameself._frame.show()class MainWindow():def __init__(self, master=None):super().__init__(master)self.title('主窗口')...app = StartApp()app.switch_frame(MainWindow)
以上示例展示了使用不同Python GUI库实现用户界面跳转的方法。选择适合您项目需求的方法进行实现即可
