Python简易记事本并在编辑菜单中添加子菜单
时间: 2024-12-25 13:31:22 浏览: 3
Python本身并不是设计用于创建图形用户界面(GUI)的编程语言,比如像记事本这样的桌面应用。然而,我们可以使用一些库如Tkinter来创建简单的文本编辑器。以下是使用Tkinter创建一个基本记事本并为其编辑菜单添加子菜单的一个简单示例:
```python
import tkinter as tk
from tkinter import filedialog
class SimpleNotebook(tk.Tk):
def __init__(self):
super().__init__()
self.title("Simple Note Editor")
self.geometry("800x600")
# 创建主文本框
self.text_area = tk.Text(self)
self.text_area.pack(fill=tk.BOTH, expand=True)
# 编辑菜单
self.menu_bar = tk.Menu(self)
self.config(menu=self.menu_bar)
# 添加文件菜单
file_menu = tk.Menu(self.menu_bar, tearoff=0)
file_menu.add_command(label="New", command=self.new_file)
file_menu.add_command(label="Open", command=self.open_file)
file_menu.add_separator()
file_menu.add_command(label="Exit", command=self.quit)
self.menu_bar.add_cascade(label="File", menu=file_menu)
# 添加子菜单到"Edit"
edit_menu = tk.Menu(self.menu_bar, tearoff=0)
edit_menu.add_command(label="Cut", command=self.cut_text)
edit_menu.add_command(label="Copy", command=self.copy_text)
edit_menu.add_command(label="Paste", command=self.paste_text)
self.menu_bar.add_cascade(label="Edit", menu=edit_menu)
def new_file(self):
self.text_area.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_area.insert(tk.END, f.read())
def cut_text(self):
self.text_area.event_generate("<<Cut>>")
def copy_text(self):
self.text_area.event_generate("<<Copy>>")
def paste_text(self):
self.text_area.event_generate("<<Paste>>")
if __name__ == "__main__":
app = SimpleNotebook()
app.mainloop()
阅读全文