python写的一个文本编辑器
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#=============================================================================
# FileName:
# Desc:
# Author:ToughGuy
# Version:0.0.1
# LastChange:2013-02-2014:52:11
# History:
#=============================================================================
fromTkinterimport*
importtkMessageBox,tkFileDialog
importplatform
#nl=os.linesep
defopenfile():
globalfilename #使用global声明为全局变量,方便后边的程序调用
systype=platform.system()#判断系统类型
ifsystype=="windows":
basedir="c:\\"
else:
basedir="/"
filename=tkFileDialog.askopenfilename(initialdir=basedir)
try:
fobj_r=open(filename,"r")
exceptIOError,errmsg:
print"***Failedopenfile:",errmsg
else:
editbox.delete(1.0,END)
foreachlineinfobj_r:
editbox.insert(INSERT,eachline)
fobj_r.close()
defsavefile():
save_data=editbox.get(1.0,END)
try:
fobj_w=open(filename,"w")
fobj_w.writelines(save_data.encode("utf-8"))
fobj_w.close()
tkMessageBox.showinfo(title="提示",
message="保存成功")
exceptIOError,errmsg:
tkMessageBox.showwarning(title="保存失败",message="保存出错 ")
tkMessageBox.showwarning(title="错误信息",message=errmsg)
exceptNameError:
tkMessageBox.showwarning(title="保存失败",message="未打开文件")
defshowlinenum():
tkMessageBox.showinfo(title="提示",
message="这个功能作者现在不会写,放这里装饰用的.")
defdestroy_ui(ui):
ui.destroy()
defaboutauthor():
author_ui=Toplevel()
author_ui.title("关于")
author_ui.geometry("200x80")
about_string=Label(author_ui,
text="作者:ToughGuy")
confirmbtn=Button(author_ui,text="确定",
command=lambda:destroy_ui(author_ui))
about_string.pack()
confirmbtn.pack()
#author_ui.mainloop()
defCreateMenus():
#初始化菜单
Menubar=Menu(root)
#创建文件菜单
filemenu=Menu(Menubar,tearoff=0)
filemenu.add_command(label="打开文件",command=openfile)
filemenu.add_command(label="保存文件",command=savefile)
filemenu.add_command(label="退出",command=lambda:destroy_ui(root))
Menubar.add_cascade(label="文件",menu=filemenu)
#创建编辑菜单
editmenu=Menu(Menubar,tearoff=0)
editmenu.add_command(label="显示行号",command=showlinenum)
Menubar.add_cascade(label="编辑",menu=editmenu)
#创建帮助菜单
helpmenu=Menu(Menubar,tearoff=0)
helpmenu.add_command(label="关于作者",command=aboutauthor)
Menubar.add_cascade(label="帮助",menu=helpmenu)
root.config(menu=Menubar)
root=Tk()
root.title("文本编辑器")
root.geometry("500x400")
CreateMenus()
editbox=Text(root,width=70,height=25,bg="white")
editbox.pack(side=TOP,fill=X)
root.mainloop()
相关文章
- python运行代码不成功_Python | PyCharm无法直接运行(Run)脚本
- python anaconda jupyter_anaconda和pip
- Python 基于 selenium 实现不同商城的商品价格差异分析系统
- 用Python做一个游戏辅助脚本,完整编程思路分享
- 手机python 3.8解释器_Python 3.8 解释器安装教程
- 在python中用来安装第三方库的常用工具_什么库用于安装管理Python扩展包
- python 图像处理库_Python图像处理库
- python使用opencv如何保存图片_OpenCV Python 保存图片
- eval在python中是什么意思_如何在Python中使用eval ?
- python多种创建工厂模式场景
- Python爬取ins数据,一个简单的外国分享网站
- Python 函数与变量作用域
- 【测试开发】python系列教程:集合
- Python去除字符串中空格(删除指定字符)的3种方法
- Python实现装饰模式的一段代码详解编程语言
- 初识 Python: global 关键字
- CherryTree 是一个支持无限层级分类的笔记软件,Python 编写,支持富文本编辑和代码高亮,支持 Mac、Linux、Windows平台。
- python列表操作实例
- Python中声明只包含一个元素的元组数据方法