目前只做了基本的打开和保存的功能。
代码:
from tkinter import *
from tkinter import messagebox
from tkinter import filedialog
import os
filename='' #文件名,全局变量
def about():
messagebox.showinfo('提示','这是一个消息框')
def openFile():
global filename #使用全局变量
filename=filedialog.askopenfilename(defaultextension='.txt') #打开文件,默认扩展名是xtxt
if filename=='': #如果没有选择
filename=None
else:
root.title('FileName:'+os.path.basename(filename)) #将文件名显示在标题栏中
textPad.delete(1.0,END) #删除文本框中原有内容
f=open(filename,'r',encoding='UTF-8') #获取文件中内容
textPad.insert(1.0,f.read()) #显示到文本框
f.close()
def saveOtherFile():
global filename
f=filedialog.asksaveasfilename(initialfile='未命名.txt',defaultextension='.txt') #保存文件
filename=f
root.title('FileName:' + os.path.basename(filename))
fh=open(f,'w',encoding='UTF-8') #只写方式打开文件
msg=textPad.get(1.0,END) #从文本框中获取内容
fh.write(msg)
fh.close()
root=Tk() #设置菜单栏
root.title('记事本')
root.geometry('500x500+100+100') #widthxheight+x+y
menubar=Menu(root)
root.config(menu=menubar)
filemenu=Menu(menubar) #第一个菜单栏
filemenu.add_command(label='打开',accelerator='Ctrl+N',command=openFile)
filemenu.add_command(label='保存',accelerator='Ctrl+T',command=saveOtherFile)
menubar.add_cascade(label='文件',menu=filemenu)
aboutmenu=Menu(menubar)
aboutmenu.add_command(label='关于',accelerator='Ctrl+Y',command=about)
menubar.add_cascade(label='帮助',menu=aboutmenu)
status=Label(root,text='Ln20',bd=1,relief=SUNKEN,anchor=W) #底部状态栏
status.pack(side=BOTTOM,fill=X)
lnlabel=Label(root,width=2,bg='antique white') #左边边界栏
lnlabel.pack(side=LEFT,fill=Y)
textPad=Text(root,undo=True) #设置文本框
textPad.pack(expand=YES,fill=BOTH)
scroll=Scrollbar(textPad) #右边进度条栏
textPad.config(yscrollcommand=scroll.set)
scroll.config(command=textPad.yview)
scroll.pack(side=RIGHT,fill=Y)
root.mainloop()