python-简易记事本

目标效果:
python-简易记事本_第1张图片

目前只做了基本的打开和保存的功能。

代码:

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()

 

你可能感兴趣的:(python,python,记事本)