这个更简单了,只需要在 main 方法里将 A 页面的点击事件与 B 页面的展示绑定即可:
import sys
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication
class First(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.btn = QPushButton("Button", self)
self.btn.move(30, 50)
self.setGeometry(300, 300, 500, 500)
self.setWindowTitle('Event sender')
self.show()
class Second(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Get sender')
if __name__ == '__main__':
app = QApplication(sys.argv)
a = First()
b = Second()
a.show()
a.btn.clicked.connect(b.show)
sys.exit(app.exec_())
如果需要点击 A 跳转 B 的同时关闭,那么给 A 的点击事件同时绑定 A 的关闭事件即可:
class First(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.btn = QPushButton("Button", self)
self.btn.move(30, 50)
self.setGeometry(300, 300, 500, 500)
self.setWindowTitle('Event sender')
self.show()
self.btn.clicked.connect(self.close)
页面跳转PyQt5 实现两个页面跳转PyQt5 实现多个页面跳转实现效果代码编写首先要知道,使用 Qt designer 和 代码进行 Qt 开发实现页面跳转是不一样的,这里我们使用的是 designer 开发,在这里简单记录一下。PyQt5 实现两个页面跳转目前场景:用 Qt designer 设计好了两个页面:a_ui.py、b_ui.pya_ui.py 中有个按钮的 id 为 goButton我们实现两个页面之间的跳转:from a_ui import Ui_MainWindow a
Qt中登录界面跳转到主界面的两种方法1 登录界面跳转2 跳转的两种方式2.1 利用QDialog::Accepted2.2 利用QObject::connect( )
1 登录界面跳转
登录界面跳转,应该是项目的常见需求了。
输入账号、密码后,点击登录按钮跳转。
2 跳转的两种方式
这里博主介绍两种登录界面跳转到主界面的两种可行方式。
2.1 利用QDialog::Accepted
自然,这个方法创建的登录界面类需要继承QDialog类。
设计好登录界面后,选择 go to slot,再选
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.btn = QPushButton('清空页面', self)
self.btn.clicked.connect(self.clearPage)
vbox = QVBoxLayout()
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('清空页面')
self.show()
def clearPage(self):
self.deleteLater()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
当您点击按钮时,页面将被清空。