pyqt5点击按钮,跳转到新的页面
时间: 2024-04-08 14:12:43 浏览: 106
pyqt5使用按钮进行界面的跳转方法
可以使用QStackedWidget来实现页面之间的切换。具体步骤如下:
1. 创建一个QStackedWidget对象,并将其添加到主窗口中。
2. 创建两个QWidget对象,分别代表两个页面。
3. 将这两个QWidget对象添加到QStackedWidget中,使用addWidget()方法。
4. 创建一个QPushButton对象,并将其添加到第一个QWidget对象中。
5. 连接QPushButton的clicked信号到一个槽函数中,在槽函数中使用setCurrentIndex()方法切换到第二个页面。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QStackedWidget
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.stack = QStackedWidget(self)
self.page1 = QWidget()
self.page2 = QWidget()
self.initUI()
def initUI(self):
# 第一页上的按钮
btn = QPushButton('跳转到第二页', self.page1)
btn.move(50, 50)
btn.clicked.connect(self.changePage)
# 第一页的布局
layout1 = QVBoxLayout()
layout1.addWidget(btn)
self.page1.setLayout(layout1)
# 第二页的布局
layout2 = QVBoxLayout()
layout2.addWidget(QPushButton('返回第一页', self.page2))
self.page2.setLayout(layout2)
# 将两个页面添加到QStackedWidget中
self.stack.addWidget(self.page1)
self.stack.addWidget(self.page2)
# 设置主窗口的布局
layout = QVBoxLayout(self)
layout.addWidget(self.stack)
def changePage(self):
# 切换到第二个页面
self.stack.setCurrentIndex(1)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
运行这个程序,点击第一页上的按钮,就可以跳转到第二页。第二页上有一个返回按钮,点击后可以回到第一页。
阅读全文