Python编写的记事本小程序
时间: 2024-02-16 19:56:53 浏览: 112
Python写的记事本源程序
5星 · 资源好评率100%
以下是一个用Python编写的记事本小程序的例子:
```python
import tkinter as tk
from tkinter import filedialog
class Notepad:
def __init__(self, master):
self.master = master
master.title("记事本")
self.textarea = tk.Text(master, undo=True)
self.textarea.pack(fill=tk.BOTH, expand=True)
self.menubar = tk.Menu(master)
self.filemenu = tk.Menu(self.menubar, tearoff=0)
self.filemenu.add_command(label="新建", command=self.new_file)
self.filemenu.add_command(label="打开", command=self.open_file)
self.filemenu.add_command(label="保存", command=self.save_file)
self.filemenu.add_separator()
self.filemenu.add_command(label="退出", command=master.quit)
self.menubar.add_cascade(label="文件", menu=self.filemenu)
self.editmenu = tk.Menu(self.menubar, tearoff=0)
self.editmenu.add_command(label="撤销", command=self.textarea.edit_undo)
self.editmenu.add_command(label="重做", command=self.textarea.edit_redo)
self.editmenu.add_separator()
self.editmenu.add_command(label="剪切", command=self.cut)
self.editmenu.add_command(label="复制", command=self.copy)
self.editmenu.add_command(label="粘贴", command=self.paste)
self.menubar.add_cascade(label="编辑", menu=self.editmenu)
master.config(menu=self.menubar)
def new_file(self):
self.textarea.delete(1.0, tk.END)
def open_file(self):
file = filedialog.askopenfile(mode='r')
if file is not None:
content = file.read()
self.textarea.insert(tk.END, content)
file.close()
def save_file(self):
file = filedialog.asksaveasfile(mode='w')
if file is not None:
data = self.textarea.get('1.0', tk.END+'-1c')
file.write(data)
file.close()
def cut(self):
self.textarea.event_generate("<<Cut>>")
def copy(self):
self.textarea.event_generate("<<Copy>>")
def paste(self):
self.textarea.event_generate("<<Paste>>")
root = tk.Tk()
notepad = Notepad(root)
root.mainloop()
```
这个记事本小程序使用了Python的Tkinter模块来创建GUI界面,实现了基本的文本编辑功能,包括新建、打开、保存、撤销、重做、剪切、复制和粘贴等功能。
阅读全文