用python的tkinter库写一个记事本程序。
时间: 2023-02-27 19:41:40 浏览: 82
好的,下面是一个使用 Python Tkinter 库制作的简单记事本程序的代码:
```
import tkinter as tk
def save_text():
text = text_widget.get("1.0", "end-1c")
with open("notes.txt", "w") as file:
file.write(text)
root = tk.Tk()
root.title("简单记事本")
text_widget = tk.Text(root, height=20, width=50)
text_widget.pack()
save_button = tk.Button(root, text="保存", command=save_text)
save_button.pack()
root.mainloop()
```
这段代码创建了一个 Tkinter 的 GUI,其中包含一个文本框和一个保存按钮。按钮被点击时,文本框中的内容将被保存到一个名为 "notes.txt" 的文件中。
相关问题
用python的tkinter库写个记事本
好的,以下是一个简单的用 Python 的 tkinter 库编写的记事本:
```python
from tkinter import *
from tkinter.filedialog import asksaveasfilename, askopenfilename
# 创建主窗口
root = Tk()
root.title("记事本")
# 创建文本框
text = Text(root, font=("Helvetica", 12))
text.pack(expand=True, fill=BOTH)
# 创建菜单栏
menu_bar = Menu(root)
root.config(menu=menu_bar)
# 创建文件菜单
file_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="文件", menu=file_menu)
# 打开文件
def open_file(event=None):
file_path = askopenfilename(defaultextension=".txt", filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")])
if file_path:
text.delete(1.0, END)
with open(file_path, "r") as file:
text.insert(END, file.read())
file_menu.add_command(label="打开", accelerator="Ctrl+O", command=open_file)
# 保存文件
def save_file(event=None):
file_path = asksaveasfilename(defaultextension=".txt", filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")])
if file_path:
with open(file_path, "w") as file:
file.write(text.get(1.0, END))
file_menu.add_command(label="保存", accelerator="Ctrl+S", command=save_file)
# 退出
file_menu.add_separator()
file_menu.add_command(label="退出", accelerator="Alt+F4", command=root.quit)
# 创建编辑菜单
edit_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="编辑", menu=edit_menu)
# 撤销
def undo(event=None):
try:
text.edit_undo()
except:
pass
edit_menu.add_command(label="撤销", accelerator="Ctrl+Z", command=undo)
# 重做
def redo(event=None):
try:
text.edit_redo()
except:
pass
edit_menu.add_command(label="重做", accelerator="Ctrl+Y", command=redo)
# 剪切
edit_menu.add_separator()
edit_menu.add_command(label="剪切", accelerator="Ctrl+X", command=lambda: text.event_generate("<Control-x>"))
# 复制
edit_menu.add_command(label="复制", accelerator="Ctrl+C", command=lambda: text.event_generate("<Control-c>"))
# 粘贴
edit_menu.add_command(label="粘贴", accelerator="Ctrl+V", command=lambda: text.event_generate("<Control-v>"))
# 删除
edit_menu.add_command(label="删除", accelerator="Del", command=lambda: text.delete("sel.first", "sel.last"))
# 全选
edit_menu.add_separator()
edit_menu.add_command(label="全选", accelerator="Ctrl+A", command=lambda: text.tag_add("sel", "1.0", "end"))
# 运行主循环
root.mainloop()
```
希望这个记事本对你有所帮助!
python的tkinter编写一个记事本
您可以按照以下步骤使用Python的Tkinter编写一个记事本:
1. 导入Tkinter模块和其他必要的模块。
2. 创建一个主窗口,并设置窗口的标题和大小。
3. 创建一个文本框,用于用户输入和编辑文本。
4. 创建菜单栏和菜单项,包括文件、编辑和帮助等选项。
5. 添加菜单项的功能,例如打开、保存、剪切、复制、粘贴和关于等功能。
6. 将菜单栏添加到主窗口中。
7. 将文本框添加到主窗口中,并设置其位置和大小。
8. 运行主循环,使窗口保持打开状态。
下面是一个简单的Python Tkinter记事本的代码示例:
```
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.create_menu()
def create_menu(self):
menubar = tk.Menu(self.master)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="打开", command=self.open_file)
filemenu.add_command(label="保存", command=self.save_file)
filemenu.add_separator()
filemenu.add_command(label="退出", command=self.master.quit)
menubar.add_cascade(label="文件", menu=filemenu)
editmenu = tk.Menu(menubar, tearoff=0)
editmenu.add_command(label="撤销", command=self.textarea.edit_undo)
editmenu.add_command(label="重做", command=self.textarea.edit_redo)
editmenu.add_separator()
editmenu.add_command(label="剪切", command=self.textarea.event_generate("<<Cut>>"))
editmenu.add_command(label="复制", command=self.textarea.event_generate("<<Copy>>"))
editmenu.add_command(label="粘贴", command=self.textarea.event_generate("<<Paste>>"))
menubar.add_cascade(label="编辑", menu=editmenu)
helpmenu = tk.Menu(menubar, tearoff=0)
helpmenu.add_command(label="关于", command=self.show_about)
menubar.add_cascade(label="帮助", menu=helpmenu)
self.master.config(menu=menubar)
def open_file(self):
file_path = filedialog.askopenfilename()
if file_path:
with open(file_path, "r") as f:
self.textarea.delete("1.0", tk.END)
self.textarea.insert(tk.END, f.read())
def save_file(self):
file_path = filedialog.asksaveasfilename()
if file_path:
with open(file_path, "w") as f:
f.write(self.textarea.get("1.0", tk.END))
def show_about(self):
tk.messagebox.showinfo("关于", "这是一个简单的记事本程序。")
root = tk.Tk()
notepad = Notepad(root)
root.mainloop()
```