请向我展示pyqt5中的主界面存在四个并排放置的按钮,每个按钮点击后分别对应切换到不同的界面的代码
时间: 2024-06-08 22:07:50 浏览: 54
好的,以下是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QHBoxLayout, QVBoxLayout, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个主窗口
self.setWindowTitle('Main Window')
self.setGeometry(100, 100, 500, 500)
# 创建四个子窗口
self.window1 = QWidget()
self.window2 = QWidget()
self.window3 = QWidget()
self.window4 = QWidget()
# 创建四个按钮并设置点击事件
self.button1 = QPushButton('Window 1', self)
self.button1.clicked.connect(self.showWindow1)
self.button2 = QPushButton('Window 2', self)
self.button2.clicked.connect(self.showWindow2)
self.button3 = QPushButton('Window 3', self)
self.button3.clicked.connect(self.showWindow3)
self.button4 = QPushButton('Window 4', self)
self.button4.clicked.connect(self.showWindow4)
# 将四个按钮放置在水平布局中
hbox = QHBoxLayout()
hbox.addWidget(self.button1)
hbox.addWidget(self.button2)
hbox.addWidget(self.button3)
hbox.addWidget(self.button4)
# 将水平布局放置在垂直布局中
vbox = QVBoxLayout()
vbox.addLayout(hbox)
# 设置主窗口的布局
central_widget = QWidget()
central_widget.setLayout(vbox)
self.setCentralWidget(central_widget)
def showWindow1(self):
self.setCentralWidget(self.window1)
def showWindow2(self):
self.setCentralWidget(self.window2)
def showWindow3(self):
self.setCentralWidget(self.window3)
def showWindow4(self):
self.setCentralWidget(self.window4)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
这个示例代码中创建了一个主窗口和四个子窗口,四个按钮分别对应切换到不同的子窗口。将四个按钮放置在一个水平布局中,然后将这个水平布局放置在一个垂直布局中,最后将这个垂直布局设置为主窗口的布局。每个按钮都连接一个槽函数,点击按钮后会调用对应的槽函数来切换到对应的子窗口。
阅读全文