主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象--(重构版)
主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象–(重构版)
前置知识
- 由主窗口布局图像可知,
QPlanTextEdit()
需要放入CentrlWidget()
中
与旧版区别
主要修复了一些可能的逻辑错误 造成的代码冗余
- 直接设置中心控件,无需继承主窗口
- 布局管理器直接继承主窗口,无需后续设置布局
代码示例
# coding = utf-8from PySide6.QtWidgets import (QMainWindow,QWidget,QVBoxLayout,QPlainTextEdit,QApplication)
import sysif __name__ == "__main__":app = QApplication(sys.argv)mainWindow = QMainWindow()# 让文本编辑器 显示到 中央窗口上centralWidget = QWidget()mainWindow.setCentralWidget(centralWidget) # 无需传入父类 直接实例化 后续设置为中心控件即可plainTextEdit = QPlainTextEdit() # 无需传入父类 直接实例化 中心布局添加该控件即可# 放入中央窗口vbox = QVBoxLayout(centralWidget) # 直接传入中心窗口 实现中心布局vbox.addWidget(plainTextEdit)mainWindow.show()sys.exit(app.exec())
# coding = utf-8
from PySide6.QtWidgets import (QMainWindow,QWidget,QVBoxLayout,QPlainTextEdit,QApplication)
import sysclass MyMainWin(QMainWindow):def __init__(self):super().__init__()self.setupUi()def setupUi(self):# 让文本编辑器 显示到 中央窗口上centralWidget = QWidget() # 无需传入父类 直接实例化 后续设置为中心控件即可self.setCentralWidget(centralWidget)plainTextEdit = QPlainTextEdit() # 无需传入父类 直接实例化 中心布局添加该控件即可# 放入中央窗口vbox = QVBoxLayout(centralWidget) # 直接传入中心窗口 实现中心布局vbox.addWidget(plainTextEdit)if __name__ == "__main__":app = QApplication(sys.argv)mainWindow = MyMainWin()mainWindow.show()sys.exit(app.exec())