python pyqt5ui界面设计单个窗口多个页面
时间: 2023-07-01 16:24:49 浏览: 117
您可以使用QStackedWidget控件来实现在单个窗口中切换多个页面的功能。下面是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QStackedWidget
class Page1(QWidget):
def __init__(self):
super().__init__()
button = QPushButton('Go to Page 2')
button.clicked.connect(self.go_to_page2)
layout = QVBoxLayout()
layout.addWidget(button)
self.setLayout(layout)
def go_to_page2(self):
stacked_widget.setCurrentIndex(1)
class Page2(QWidget):
def __init__(self):
super().__init__()
button = QPushButton('Go to Page 1')
button.clicked.connect(self.go_to_page1)
layout = QVBoxLayout()
layout.addWidget(button)
self.setLayout(layout)
def go_to_page1(self):
stacked_widget.setCurrentIndex(0)
app = QApplication([])
window = QWidget()
layout = QHBoxLayout()
stacked_widget = QStackedWidget()
stacked_widget.addWidget(Page1())
stacked_widget.addWidget(Page2())
layout.addWidget(stacked_widget)
window.setLayout(layout)
window.show()
app.exec_()
```
在这个示例中,我们使用QStackedWidget来包含两个页面Page1和Page2。每个页面都有一个按钮,按下按钮可以切换到另一个页面。QStackedWidget的setCurrentIndex方法可以用来设置当前显示的页面。
阅读全文