记事本奶龙代码
时间: 2023-07-02 08:12:44 浏览: 139
以下是记事本奶龙的代码:
```
import tkinter as tk
from tkinter import filedialog
class Notepad:
def __init__(self, master):
self.master = master
master.title("记事本 - 奶龙版")
master.geometry("800x600")
self.text = tk.Text(master, undo=True)
self.text.pack(fill=tk.BOTH, expand=True)
self.menu_bar = tk.Menu(master)
self.file_menu = tk.Menu(self.menu_bar, tearoff=0)
self.file_menu.add_command(label="新建", command=self.new_file)
self.file_menu.add_command(label="打开", command=self.open_file)
self.file_menu.add_command(label="保存", command=self.save_file)
self.file_menu.add_separator()
self.file_menu.add_command(label="退出", command=master.quit)
self.menu_bar.add_cascade(label="文件", menu=self.file_menu)
self.edit_menu = tk.Menu(self.menu_bar, tearoff=0)
self.edit_menu.add_command(label="撤销", command=self.text.edit_undo)
self.edit_menu.add_command(label="重做", command=self.text.edit_redo)
self.edit_menu.add_separator()
self.edit_menu.add_command(label="剪切", command=self.cut_text)
self.edit_menu.add_command(label="复制", command=self.copy_text)
self.edit_menu.add_command(label="粘贴", command=self.paste_text)
self.menu_bar.add_cascade(label="编辑", menu=self.edit_menu)
master.config(menu=self.menu_bar)
def new_file(self):
self.text.delete(1.0, tk.END)
def open_file(self):
file_path = filedialog.askopenfilename()
if file_path:
with open(file_path, "r") as f:
self.text.delete(1.0, tk.END)
self.text.insert(tk.END, f.read())
def save_file(self):
file_path = filedialog.asksaveasfilename(defaultextension=".txt")
if file_path:
with open(file_path, "w") as f:
f.write(self.text.get(1.0, tk.END))
def cut_text(self):
self.copy_text()
self.text.delete("sel.first", "sel.last")
def copy_text(self):
self.master.clipboard_clear()
self.master.clipboard_append(self.text.selection_get())
def paste_text(self):
self.text.insert(tk.INSERT, self.master.clipboard_get())
root = tk.Tk()
notepad = Notepad(root)
root.mainloop()
```
这是一个基于 tkinter 库开发的记事本应用程序,具有新建、打开、保存、编辑等常用功能,也支持撤销、重做、剪切、复制和粘贴等操作。