news 2026/5/12 18:00:01

PySide系列-07-QMainWindow

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PySide系列-07-QMainWindow

PySide step by step系列

1、QMainWindow

QMainWindow 是一个继承自 QWidget 的类,专门设计用来作为主应用程序窗口。它内置了多个标准的 GUI 组件区域,方便开发人员快速搭建界面。

QMainWindow 提供了以下几个核心区域(布局区域),你可以将不同的控件放入这些区域:

  • 菜单栏
  • 工具栏
  • 中心部件(只能有一个)
  • 状态栏
  • 停靠窗口

2、代码示例(只布局)

fromPySide6.QtWidgetsimport(QMainWindow,QPlainTextEdit,QMenuBar,QStatusBar,QVBoxLayout,QWidget,QDockWidget,QLabel)fromPySide6.QtCoreimportQtclassMyWidget(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("记事本")self.resize(800,600)# 创建中央部件和布局central_widget=QWidget()self.setCentralWidget(central_widget)layout=QVBoxLayout(central_widget)layout.setContentsMargins(0,0,0,0)# 创建文本编辑区域self.text_edit=QPlainTextEdit()self.text_edit.setLineWrapMode(QPlainTextEdit.WidgetWidth)# 自动换行layout.addWidget(self.text_edit)# 创建菜单栏self.create_menu_bar()# 创建工具栏self.toolBar=self.addToolBar("toolBar")self.toolBar.addAction("工具栏-新建")self.toolBar.addAction("工具栏-打开")self.toolBar.addSeparator()self.toolBar.addAction("工具栏-保存")# 创建状态栏self.statusBar=QStatusBar()self.setStatusBar(self.statusBar)self.statusBar.showMessage("就绪")defcreate_menu_bar(self):menu_bar=QMenuBar()self.setMenuBar(menu_bar)# 文件菜单file_menu=menu_bar.addMenu("文件(&F)")file_menu.addAction("新建(&N)")file_menu.addAction("打开(&O)...")file_menu.addAction("保存(&S)")file_menu.addAction("另存为(&A)...")file_menu.addSeparator()file_menu.addAction("退出(&X)")# 编辑菜单edit_menu=menu_bar.addMenu("编辑(&E)")edit_menu.addAction("撤销(&U)")edit_menu.addSeparator()edit_menu.addAction("剪切(&T)")edit_menu.addAction("复制(&C)")edit_menu.addAction("粘贴(&P)")edit_menu.addAction("删除(&L)")edit_menu.addSeparator()edit_menu.addAction("查找(&F)...")edit_menu.addAction("替换(&R)...")edit_menu.addAction("转到(&G)...")edit_menu.addSeparator()edit_menu.addAction("全选(&A)")# 格式菜单format_menu=menu_bar.addMenu("格式(&O)")format_menu.addAction("自动换行(&W)")format_menu.addAction("字体(&F)...")# 查看菜单view_menu=menu_bar.addMenu("查看(&V)")status_bar_action=view_menu.addAction("状态栏(&S)")status_bar_action.setCheckable(True)status_bar_action.setChecked(True)# 帮助菜单help_menu=menu_bar.addMenu("帮助(&H)")help_menu.addAction("手册(&H)")help_menu.addAction("关于(&A)")dock=QDockWidget("停靠窗扣",self)dock.setAllowedAreas(Qt.LeftDockWidgetArea|Qt.RightDockWidgetArea)info_label=QLabel("停靠窗口内容")info_label.setAlignment(Qt.AlignCenter)dock.setWidget(info_label)self.addDockWidget(Qt.RightDockWidgetArea,dock)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 9:46:08

基于特征匹配的英文印刷字符识别:MATLAB 实现之旅

14.基于特征匹配的英文印刷字符识别代码 MATLAB程序 可以识别英文,当鼠标指在某个英文单词时,在坐下角会显示相关字符,原有62张图片,包括大小写A-Z和0-9用于匹配,具体可参照:https://blog.csdn.net/horseinch/article/…

作者头像 李华
网站建设 2026/5/9 20:44:22

知网AIGC检测不通过?学长亲测的避坑指南

知网AIGC检测不通过?学长亲测的避坑指南 TL;DR:知网AIGC检测不通过别慌,这份避坑指南帮你搞定。核心思路:先定位高风险段落,再用专业工具降AI(推荐嘎嘎降AI,达标率99.26%)&#xff0…

作者头像 李华
网站建设 2026/5/10 10:37:51

聊聊神奇的连续拉丝机自动控制程序

连续拉丝机程序,拉丝机自动控制程序,解决了大部分拉丝机经常出现的拉力不均匀,电机转速不稳等问题,运行稳定,安全可靠。在工业生产领域,拉丝机那可是相当重要的设备。但以前,不少拉丝机老是被拉…

作者头像 李华
网站建设 2026/5/10 8:51:27

QT编写的CAN通信调试工具:从原理到实践

CAN调试工具源代码吉阳光电致远周立功USB卡CAN单帧通信协议带相同ID折叠显式加载dll数据保存QT编写的CAN通信调试工具,基于致远周立功USB转CAN卡,可完成CAN帧的发送和接收,带配置参数自动保存,定时发送,帧类型选择&…

作者头像 李华
网站建设 2026/5/9 22:26:23

探索人脸识别追踪:从图像采集到电机驱动的奇妙旅程

人脸识别追踪。 图像采集识别和电机驱动系统,利用openmv图像识别对人脸进行实时采集,采集信号传入到单片机,根据分析结果利用matlab-PID算法控制电机系统跟随人脸运动,自动检测追踪在科技飞速发展的当下,人脸识别追踪技…

作者头像 李华
网站建设 2026/5/10 4:39:37

ArcGIS大师之路500技---061四至的计算方法

文章目录前言前言 本文介绍使用字段计算器计算要素四至的方法。 操作步骤: 新建一个要素类,添加以下字段,如下图: 这四个字段用于存储要素四至信息。 开始编辑,随便画几个圆。 开始计算,在XMAX字段右键…

作者头像 李华