pyside6写记事本桌面应用
时间: 2025-04-25 14:37:05 浏览: 27
### 使用 PySide6 创建记事本样式的桌面应用程序
#### 导入必要的模块
为了构建基于PySide6的记事本应用,需要先引入一些核心组件。例如`QTextEdit`用于提供多行文本编辑区域;而像打开、保存文件等功能则依赖于`QFileDialog`来实现文件对话框操作[^1]。
```python
from PySide6.QtWidgets import QApplication, QMainWindow, QTextEdit, QFileDialog, QAction
```
#### 初始化主窗口并配置菜单栏
创建一个继承自`QMainWindow`的类作为程序的主要框架,在其中添加文本编辑区以及关联至常用命令(新建、打开、保存等)的菜单项。
```python
class Notepad(QMainWindow):
def __init__(self):
super().__init__()
self.text_edit = QTextEdit(self)
self.setCentralWidget(self.text_edit)
menubar = self.menuBar()
file_menu = menubar.addMenu('File')
new_action = QAction('New', self)
open_action = QAction('Open...', self)
save_action = QAction('Save', self)
file_menu.addAction(new_action)
file_menu.addAction(open_action)
file_menu.addAction(save_action)
new_action.triggered.connect(self.new_file)
open_action.triggered.connect(self.open_file)
save_action.triggered.connect(self.save_file)
```
#### 实现文件操作方法
针对上述提到的动作连接相应的槽函数完成具体的业务逻辑——清空当前文档内容对应“新建”,加载外部文件到编辑器里表示“打开”,最后把修改后的文字存盘即为“保存”。
```python
def new_file(self):
"""Clear the text edit widget."""
self.text_edit.clear()
def open_file(self):
"""Load a file into the editor."""
filename, _ = QFileDialog.getOpenFileName(self, 'Open File')
if filename:
with open(filename, encoding='utf-8') as f:
content = f.read()
self.text_edit.setText(content)
def save_file(self):
"""Save current contents to disk."""
filename, _ = QFileDialog.getSaveFileName(self, 'Save As...')
if filename:
with open(filename, mode='w', encoding='utf-8') as f:
f.write(self.text_edit.toPlainText())
```
#### 启动应用程序实例
最后编写一段简单的脚本来启动整个GUI界面:
```python
if __name__ == '__main__':
app = QApplication([])
notepad = Notepad()
notepad.show()
exit(app.exec_())
```
通过以上步骤可以建立一个基础版的支持基本文本编辑功能的小工具。当然实际项目中还可以继续扩展更多特性比如查找替换字符串、支持不同编码格式等等[^2]。
阅读全文
相关推荐













