利用python与pyqt5 创建一个主窗口,然后点击切换不同页面
时间: 2023-12-10 17:04:47 浏览: 30
好的,以下是一个简单的示例代码,其中使用了QStackedWidget来实现页面的切换:
```
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QStackedWidget, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("主窗口")
self.resize(400, 300)
# 创建按钮并连接槽函数
button1 = QPushButton("页面1", self)
button1.clicked.connect(self.show_page1)
button2 = QPushButton("页面2", self)
button2.clicked.connect(self.show_page2)
# 创建堆叠窗口并添加两个页面
self.stack = QStackedWidget(self)
self.page1 = QWidget(self)
self.stack.addWidget(self.page1)
self.page2 = QWidget(self)
self.stack.addWidget(self.page2)
# 在页面1上添加一个标签
self.label1 = QLabel("这是页面1", self.page1)
self.label1.move(50, 50)
# 在页面2上添加一个标签
self.label2 = QLabel("这是页面2", self.page2)
self.label2.move(50, 50)
# 设置按钮位置并显示主窗口
button1.move(0, 0)
button2.move(100, 0)
self.stack.move(0, 30)
self.show()
# 槽函数,用于显示页面1
def show_page1(self):
self.stack.setCurrentIndex(0)
# 槽函数,用于显示页面2
def show_page2(self):
self.stack.setCurrentIndex(1)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
```
在上面的代码中,我们创建了一个主窗口,并在其中添加了两个按钮,用于切换不同的页面。在主窗口中,我们使用了QStackedWidget类来实现页面的堆叠和切换。我们创建了两个页面,分别是page1和page2,并将它们添加到QStackedWidget中。在每个页面中,我们都添加了一个标签,用于显示当前页面的内容。当用户点击按钮时,我们通过setCurrentIndex方法来切换到相应的页面。
希望这个例子能够帮助你创建自己的主窗口,并实现页面的切换。