pyqt5界面设计多窗口
时间: 2024-02-05 12:03:55 浏览: 89
以下是两种PyQt5界面设计多窗口的例子:
1. 使用Tab Widget实现多页面切换:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Tab Widget Example")
# 创建Tab Widget
self.tab_widget = QTabWidget()
# 创建页面1
page1 = QWidget()
layout1 = QVBoxLayout()
layout1.addWidget(QLabel("Page 1"))
page1.setLayout(layout1)
# 创建页面2
page2 = QWidget()
layout2 = QVBoxLayout()
layout2.addWidget(QLabel("Page 2"))
page2.setLayout(layout2)
# 将页面添加到Tab Widget中
self.tab_widget.addTab(page1, "Page 1")
self.tab_widget.addTab(page2, "Page 2")
# 设置Tab Widget为主窗口的中心部件
self.setCentralWidget(self.tab_widget)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
2. 使用Stacked Widget实现多页面切换:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QStackedWidget, QWidget, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Stacked Widget Example")
# 创建Stacked Widget
self.stacked_widget = QStackedWidget()
# 创建页面1
page1 = QWidget()
layout1 = QVBoxLayout()
layout1.addWidget(QLabel("Page 1"))
page1.setLayout(layout1)
# 创建页面2
page2 = QWidget()
layout2 = QVBoxLayout()
layout2.addWidget(QLabel("Page 2"))
page2.setLayout(layout2)
# 将页面添加到Stacked Widget中
self.stacked_widget.addWidget(page1)
self.stacked_widget.addWidget(page2)
# 设置Stacked Widget为主窗口的中心部件
self.setCentralWidget(self.stacked_widget)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
阅读全文