主窗口(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())
相关推荐
飞Link几秒前
【AI大模型实战】万字长文肝透大语言模型(LLM):从底层原理解析到企业级Python项目落地
开发语言·人工智能·python·语言模型·自然语言处理
翻斗包菜5 分钟前
第 03 章 Python 操作 MySQL 数据库实战全解
数据库·python·mysql
xcjbqd017 分钟前
如何修改Oracle服务器默认的日期格式_NLS_DATE_FORMAT全局配置
jvm·数据库·python
white-persist27 分钟前
【vulhub spring CVE-2018-1270】CVE-2018-1270 Spring Messaging 远程命令执行漏洞 完整复现详细分析解释
java·服务器·网络·数据库·后端·python·spring
EnCi Zheng34 分钟前
P2G-Python字符串方法完全指南-split、join、strip、replace的Python编程利器
开发语言·python
潇洒畅想35 分钟前
1.1 从∑到∫:用循环理解求和与累积
java·数据结构·python·算法
有一个好名字36 分钟前
Claude Code 50+命令全解析
python
liliangcsdn1 小时前
LLM如何与mcp server交互示例
linux·开发语言·python
Lupino1 小时前
拯救迷失的荧光溶解氧传感器:从“三无”到“复活”的全记录
python
xcjbqd01 小时前
SQL中视图能否嵌套存储过程_实现复杂自动化报表逻辑
jvm·数据库·python