主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象--(重构版)

主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象--(重构版)

前置知识
  • 由主窗口布局图像可知,QPlanTextEdit()需要放入CentrlWidget()
旧版区别

主要修复了一些可能的逻辑错误 造成的代码冗余

  1. 直接设置中心控件,无需继承主窗口
  2. 布局管理器直接继承主窗口,无需后续设置布局
代码示例
py 复制代码
# coding = utf-8

from PySide6.QtWidgets import (QMainWindow,QWidget,QVBoxLayout,QPlainTextEdit,QApplication)
import sys


if __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())
py 复制代码
# coding = utf-8
from PySide6.QtWidgets import (QMainWindow,QWidget,QVBoxLayout,QPlainTextEdit,QApplication)
import sys

class 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())
相关推荐
cui_ruicheng20 分钟前
Python数据分析(一):数据分析概述与环境搭建
开发语言·python·数据分析
aqi0029 分钟前
15天学会AI应用开发(十六)LangChain实现对话记忆功能
人工智能·python·大模型·ai编程·ai应用
卷无止境36 分钟前
Python的collections模块:那些被低估的"瑞士军刀"
后端·python
卷无止境41 分钟前
Python的方法解析顺序:一场关于继承顺序的精妙设计
后端·python
<小智>1 小时前
鸿蒙多功能工具箱开发实战(二十四)-单元测试与自动化测试
ui·华为·harmonyos
小柯南敲键盘1 小时前
跨马翻译:批量图片与视频字幕翻译,支持智能抠图
大数据·人工智能·python·音视频
再渊2 小时前
基因归因到底怎么计算的?
python·深度学习·机器学习
E_ICEBLUE2 小时前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
aiqianji2 小时前
有哪些稳定的AI短篇小说写作软件可以推荐?
人工智能·python