pyqt5 textEdit
时间: 2023-06-21 19:08:14 浏览: 261
PyQt5中的QTextEdit是一个用于编辑和显示富文本的小部件。您可以使用它来创建文本编辑器、日志视图、聊天窗口等。
以下是一个简单的示例,演示如何创建一个带有工具栏的QTextEdit:
```python
import sys
from PyQt5.QtWidgets import QApplication, QTextEdit, QMainWindow, QAction, QFileDialog
from PyQt5.QtGui import QIcon
class TextEditor(QMainWindow):
def __init__(self):
super().__init__()
# 创建文本编辑器
self.text_edit = QTextEdit(self)
self.setCentralWidget(self.text_edit)
# 创建文件菜单
file_menu = self.menuBar().addMenu('文件')
# 创建打开文件操作
open_file_action = QAction(QIcon('open.png'), '打开', self)
open_file_action.setShortcut('Ctrl+O')
open_file_action.triggered.connect(self.open_file)
file_menu.addAction(open_file_action)
# 创建保存文件操作
save_file_action = QAction(QIcon('save.png'), '保存', self)
save_file_action.setShortcut('Ctrl+S')
save_file_action.triggered.connect(self.save_file)
file_menu.addAction(save_file_action)
# 创建退出操作
exit_action = QAction(QIcon('exit.png'), '退出', self)
exit_action.setShortcut('Ctrl+Q')
exit_action.triggered.connect(self.close)
file_menu.addAction(exit_action)
# 创建工具栏
toolbar = self.addToolBar('工具栏')
toolbar.addAction(open_file_action)
toolbar.addAction(save_file_action)
toolbar.addAction(exit_action)
self.setGeometry(100, 100, 800, 600)
self.setWindowTitle('文本编辑器')
self.show()
def open_file(self):
file_name, _ = QFileDialog.getOpenFileName(self, '打开文件')
if file_name:
with open(file_name, 'r') as f:
self.text_edit.setText(f.read())
def save_file(self):
file_name, _ = QFileDialog.getSaveFileName(self, '保存文件')
if file_name:
with open(file_name, 'w') as f:
f.write(self.text_edit.toPlainText())
if __name__ == '__main__':
app = QApplication(sys.argv)
editor = TextEditor()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个带有工具栏的文本编辑器窗口。工具栏上有三个按钮,分别用于打开、保存和退出。打开和保存操作使用QFileDialog来处理文件选择和读写。
阅读全文