python+qt实现记事本
时间: 2024-01-09 19:04:02 浏览: 93
以下是一个简单的Python Qt记事本的实现示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QFileDialog, QTextEdit
class Notepad(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit(self)
self.setCentralWidget(self.textEdit)
self.statusBar()
openFile = QAction('打开', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('打开新文件')
openFile.triggered.connect(self.showDialog)
saveFile = QAction('保存', self)
saveFile.setShortcut('Ctrl+S')
saveFile.setStatusTip('保存文件')
saveFile.triggered.connect(self.saveFile)
menubar = self.menuBar()
fileMenu = menubar.addMenu('文件')
fileMenu.addAction(openFile)
fileMenu.addAction(saveFile)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('记事本')
self.show()
def showDialog(self):
fname = QFileDialog.getOpenFileName(self, '打开文件', '/home')
if fname[0]:
with open(fname[0], 'r') as f:
self.textEdit.setText(f.read())
def saveFile(self):
fname = QFileDialog.getSaveFileName(self, '保存文件', '/home')
if fname[0]:
with open(fname[0], 'w') as f:
f.write(self.textEdit.toPlainText())
if __name__ == '__main__':
app = QApplication(sys.argv)
notepad = Notepad()
sys.exit(app.exec_())
```
这个记事本有打开和保存文件的功能,可以通过菜单栏或快捷键 Ctrl+O 和 Ctrl+S 进行操作。打开文件使用了 QFileDialog 对话框,保存文件则直接把文本框中的内容写入文件中。
阅读全文