将上述代码的主窗体用QMainWindow代替,写出完整代码
时间: 2024-03-24 22:41:31 浏览: 57
一个基于Qt的主窗口MainWindow
3星 · 编辑精心推荐
好的,以下是使用QMainWindow代替QWidget的完整Python实现代码:
```
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLineEdit, QTextEdit, QGridLayout
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建QLineEdit控件
lineEdit = QLineEdit()
# 将QLineEdit控件添加到QWidget中
widget1 = QWidget()
layout1 = QGridLayout(widget1)
layout1.addWidget(lineEdit)
# 创建QTextEdit控件
textEdit = QTextEdit()
# 将QTextEdit控件添加到QWidget中
widget2 = QWidget()
layout2 = QGridLayout(widget2)
layout2.addWidget(textEdit)
# 设置中心窗口为QGridLayout布局,并将两个QWidget添加到布局中
centralWidget = QWidget()
mainLayout = QGridLayout(centralWidget)
mainLayout.addWidget(widget1, 0, 0)
mainLayout.addWidget(widget2, 0, 1)
mainLayout.setColumnStretch(0, 1)
mainLayout.setColumnStretch(1, 1)
self.setCentralWidget(centralWidget)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
这个程序使用QMainWindow作为主窗口,创建了一个QLineEdit和一个QTextEdit控件,分别添加到两个QWidget中,然后将这两个QWidget添加到QGridLayout布局中,将布局设置为中心窗口,并通过setColumnStretch方法将两个QWidget的大小平分。
阅读全文