---恢复内容开始---

              主要是利用python 自带的tkinter 库

  

程序的基于python3.0以上 ,各个平台都可以使用包括linux ,windows ,OSX,

代码是:

  1. #!/usr/bin/python
  2. from tkinter import *
  3. from tkinter.messagebox import *
  4. from tkinter.filedialog import *
  5. import os
  6. filename=''
  7. def author():
  8. showinfo("作者信息",'本软件由yubenliu完成')
  9. def about():
  10. showinfo('软件归属','本软件版权归属于yubenliu')
  11. def ybl():
  12. global filename
  13. filename=askopenfilename(defaultextension='.txt')
  14. if filename =='':
  15. filename=None
  16. else:
  17. root.title(os.path.basename(filename))
  18. textpad.delete(1.0,END)
  19. f=open(filename,'r')
  20. textpad.insert(1.0,f.read())
  21. f.close()
  22. # 新建文件
  23. def new():
  24. global filename
  25. root.title('未命名文件')
  26. filename=None
  27. textpad.delete(1.0,END)
  28. #保存
  29. def save():
  30. global filename
  31. try:
  32. f=open(filename,'w')
  33. msg=textpad.get(1.0, END)
  34. f.write(msg)
  35. f.close()
  36. except:
  37. saveas()
  38. def saveas():
  39. f=asksaveasfilename(initialfile='为命令的.txt',defaultextension='.txt')
  40. global filename
  41. filename=f
  42. fh=open(f,'w')
  43. msg=textpad.get(1.0,END)
  44. fh.write(msg)
  45. fh.close()
  46. root.title()
  47. root.title(os.path.basename(f))
  48. def cut():
  49. textpad.event_generate('<<Cut>>')
  50. def copy():
  51. textpad.event_generate('<<Copy>>')
  52. def undo():
  53. textpad.event_generate('<<Undo>>')
  54. def redo():
  55. textpad.event_generate('<<Redo>>')
  56. def paste():
  57. textpad.event_generate('<<Paste>>')
  58. def selectall():
  59. textpad.tag_add('sel','1.0',END)
  60.  
  61. root= Tk()
  62. root.title('yubenliu')
  63. root.geometry('500x500+100+100')
  64. menubar= Menu(root)
  65. root.config(menu=menubar)
  66. filemenu=Menu(menubar)
  67. #文件的创建
  68. filemenu.add_command(label='新建',accelerator='ctrl+N ',command=new)
  69. filemenu.add_command(label='打开',accelerator='ctrl+O',command=ybl)
  70. filemenu.add_command(label='保存',accelerator='ctrl+ S',command=save)
  71. filemenu.add_command(label='另存为',accelerator='ctrl+W',command=saveas)
  72. menubar.add_cascade(label='文件',menu=filemenu)
  73. editmenu=Menu(menubar)
  74. #编辑的创建
  75. editmenu.add_command(label='撤销',accelerator='ctrl + Z',command=undo)
  76. editmenu.add_command(label='重做',accelerator='ctrl + y',command=redo)
  77. editmenu.add_separator()
  78. editmenu.add_command(label='剪切',accelerator='ctrl + x',command=cut)
  79. editmenu.add_command(label='复制',accelerator='ctrl + c',command=copy)
  80. editmenu.add_command(label='粘贴',accelerator='ctrl + v',command=paste)
  81. editmenu.add_separator()
  82. editmenu.add_command(label='查找',accelerator='ctrl + F')
  83. editmenu.add_command(label='全选',accelerator='ctrl + A',command=selectall)
  84. menubar.add_cascade(label='编辑',menu=editmenu)
  85. aboutmenu=Menu(menubar)
  86. #关于的创建
  87. aboutmenu.add_command(label='作者',command=author)
  88. aboutmenu.add_command(label='版权',command=about)
  89. aboutmenu.add_command(label='关于')
  90. menubar.add_cascade(label='关于',menu=aboutmenu)
  91. #工具栏
  92. toobar=Frame(root,height=25,bg='light sea green')
  93. shortButton=Button(toobar,text='打开',command=ybl)
  94. shortButton.pack(side=LEFT,padx=5,pady=5)
  95. shortButton=Button(toobar,text='保存',command=save)
  96. shortButton.pack(side=LEFT)
  97. toobar.pack(fill=X,expand=NO)
  98. #状态栏
  99. status=Label(root,text='ln20',bd=1, relief=SUNKEN,anchor=W)
  100. status.pack(side=BOTTOM ,fill=X)
  101. #文本
  102. lnlabel=Label(root,width=2,bg='antique white')
  103. lnlabel.pack(side=LEFT,fill=Y)
  104. textpad=Text(root,undo=True)
  105. textpad.pack(expand=YES,fill=BOTH)
  106. scroll=Scrollbar(textpad)
  107. textpad.config(yscrollcommand=scroll.set)
  108. scroll.config(command= textpad.yview)
  109. scroll.pack(side=RIGHT,fill=Y)
  110.  
  111. root.mainloop()

  

程序执行的界面:

Python开发的简单记事本的更多相关文章

  1. Python开发一个简单的BBS论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

  2. Python开发简单记事本

    摘要: 本文是使用Python,结合Tkinter开发简单记事本. 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能. 最近很想对p ...

  3. python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题

    今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...

  4. Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)

    一.如何用Python开发一个简单的Webservice 利用python的cgi编程,可以传入参数将结果输出. 定义需要编码以及需要引用的模块 #conding=utf-8 #修正中文乱码 impo ...

  5. 麦子学院python开发全套完整无加密课程

    点击了解更多Python课程>>> 麦子学院python开发全套完整无加密课程 第一阶段:Python基础准备 1.Web前端开发之HTML+CSS基础入门 2.Javascript ...

  6. Python开发之【简单计算器】

    开发一个简单的python计算器 1.实现加减乘除及括号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * ...

  7. Python开发简单爬虫 - 慕课网

    课程链接:Python开发简单爬虫 环境搭建: Eclipse+PyDev配置搭建Python开发环境 Python入门基础教程 用Eclipse编写Python程序   课程目录 第1章 课程介绍 ...

  8. 用python开发简单ftp程序

    根据alex老师视频开发的简单ftp程序,只能实现简单的get功能 ftp客户端程序: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import socke ...

  9. 作业1开发一个简单的python计算器

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

随机推荐

  1. Eclipse中使用GIT提交文件至本地

    GIT提交文件至本地: 1.  右击项目——Team——Commit…: 2.在弹出的Commit Changes框中——选择要提交的文件——填写提交说明——点击Commit,即可提交至本地.

  2. C语言基本语法——预处理器和预处理指令

    1.什么是预处理器 2.什么是预处理器指令 3.预处理器指令 4.宏指令 5.宏函数 6.宏函数的优缺点 7.条件编译指令 1.什么是预处理器 • 预处理器是一个程序,用来处理源程序中的预处理指令. ...

  3. [COCI2007]PRAVOKUTNI

    题目大意:在一个平面上,有\(N\)个点,求这些点构成的直角三角形个数.解题思路:枚举直角顶点,对于每个点,将这个点当做原点,对其他点按极角排序,然后双指针扫一遍,判断弧度差即可. C++ Code: ...

  4. Linux 进程及作业管理

    进程简介:  内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能  进程(Process):什么是进程,进程是程序的执行实例,即运行中的程序,同时也是程序的一个副本:程序是放置于磁 ...

  5. 页面关闭或刷新时触发javascript的事件

    当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document ...

  6. 【转】python 关键字

    转自:http://www.cnblogs.com/hongten/p/hongten_python_keywords.html python3.3.2中的关键字如下: The following i ...

  7. Vue经典开源项目

    Vue常用的开源项目和插件库 UI组件 element ★34,784 - 饿了么出品的基于Vue2的web UI工具套件storybook ★33,503 - 响应式UI 开发及测试环境Vux ★1 ...

  8. Linux 上安装 Zookeepr

    一.下载Zookeeper 百度网盘:https://pan.baidu.com/s/1BHV6vHcHIuj7lalvvR7w_g 密码:csvk 二.解压缩包 tar -zxvf zookeepe ...

  9. Tarjan强联通分量【模板】

    #include <algorithm> #include <cstdio> using namespace std; ); int n,m,v,u; int edgesum, ...

  10. java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol

    java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...