📜  使用Tkinter制作记事本(1)

📅  最后修改于: 2023-12-03 15:06:54.375000             🧑  作者: Mango

使用Tkinter制作记事本

Tkinter是Python自带的GUI库,常用于制作简单的窗口应用程序。本文将介绍如何使用Tkinter制作一个记事本应用程序。

开始制作记事本

首先,我们需要先导入Tkinter库,并创建一个主窗口。以下是必要的代码片段:

import tkinter as tk

root = tk.Tk()
root.title("记事本")

这段代码导入了Tkinter库,并创建了一个名为"记事本"的主窗口对象。我们可以使用title()方法来设置窗口的标题。

接下来,我们需要为主窗口添加一个文本框。文本框是用来输入、编辑文本的控件。

text = tk.Text(root)
text.pack()

这段代码创建了一个文本框对象,并将其添加到主窗口中。pack()方法用于将文本框控件填充到主窗口中。

现在,我们的记事本界面已经初步搭建完成。但是,我们还需要为它添加菜单栏和功能按钮,以使其更加实用。

添加菜单栏

菜单栏是用来展示功能按钮和下拉菜单的控件。我们可以使用Menu类来创建菜单栏。

# 创建菜单栏
menu_bar = tk.Menu(root)

# 添加文件菜单
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="新建")
file_menu.add_command(label="打开")
file_menu.add_command(label="保存")
file_menu.add_separator()
file_menu.add_command(label="退出", command=root.quit)
menu_bar.add_cascade(label="文件", menu=file_menu)

# 添加编辑菜单
edit_menu = tk.Menu(menu_bar, tearoff=0)
edit_menu.add_command(label="剪切")
edit_menu.add_command(label="复制")
edit_menu.add_command(label="粘贴")
menu_bar.add_cascade(label="编辑", menu=edit_menu)

# 添加帮助菜单
help_menu = tk.Menu(menu_bar, tearoff=0)
help_menu.add_command(label="关于")
menu_bar.add_cascade(label="帮助", menu=help_menu)

# 添加菜单栏到主窗口
root.config(menu=menu_bar)

这段代码创建了三个菜单:文件菜单、编辑菜单和帮助菜单。每个菜单都包含多个指令,以供用户进行选择。菜单栏是通过cascade()方法、add_cascade()方法、add_separator()方法、add_command()方法来创建的,在这里我们还为退出操作添加命令。

添加功能按钮

功能按钮是一些常用的操作,比如“新建”、“保存”等,我们可以在菜单中设置活动,也可以让它们以按钮的形式呈现。

# 创建新建按钮
new_button = tk.Button(root, text="新建")

# 创建打开按钮
open_button = tk.Button(root, text="打开")

# 创建保存按钮
save_button = tk.Button(root, text="保存")

# 将功能按钮添加到主窗口
new_button.pack(side=tk.LEFT)
open_button.pack(side=tk.LEFT)
save_button.pack(side=tk.LEFT)

这段代码创建了三个功能按钮,它们被分别排列在左侧。我们可以使用Button类来制作功能按钮。pack()方法用于将它们添加到主窗口中。

现在,我们的记事本应用程序已经完成了。它可以作为一个能够新建、打开、保存文档的简单的文本编辑器。

完整代码
import tkinter as tk

root = tk.Tk()
root.title("记事本")

text = tk.Text(root)
text.pack()

menu_bar = tk.Menu(root)

file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="新建")
file_menu.add_command(label="打开")
file_menu.add_command(label="保存")
file_menu.add_separator()
file_menu.add_command(label="退出", command=root.quit)
menu_bar.add_cascade(label="文件", menu=file_menu)

edit_menu = tk.Menu(menu_bar, tearoff=0)
edit_menu.add_command(label="剪切")
edit_menu.add_command(label="复制")
edit_menu.add_command(label="粘贴")
menu_bar.add_cascade(label="编辑", menu=edit_menu)

help_menu = tk.Menu(menu_bar, tearoff=0)
help_menu.add_command(label="关于")
menu_bar.add_cascade(label="帮助", menu=help_menu)

root.config(menu=menu_bar)

new_button = tk.Button(root, text="新建")
open_button = tk.Button(root, text="打开")
save_button = tk.Button(root, text="保存")

new_button.pack(side=tk.LEFT)
open_button.pack(side=tk.LEFT)
save_button.pack(side=tk.LEFT)

root.mainloop()

运行代码后,你可以看到记事本的窗口,里面包含了一个文本框、一个菜单栏以及三个功能按钮。为支持上述例程,请安装最新版的“Tkinter”框架。