Python开发的简单记事本
---恢复内容开始---
主要是利用python 自带的tkinter 库
程序的基于python3.0以上 ,各个平台都可以使用包括linux ,windows ,OSX,
代码是:
- #!/usr/bin/python
- from tkinter import *
- from tkinter.messagebox import *
- from tkinter.filedialog import *
- import os
- filename=''
- def author():
- showinfo("作者信息",'本软件由yubenliu完成')
- def about():
- showinfo('软件归属','本软件版权归属于yubenliu')
- def ybl():
- global filename
- filename=askopenfilename(defaultextension='.txt')
- if filename =='':
- filename=None
- else:
- root.title(os.path.basename(filename))
- textpad.delete(1.0,END)
- f=open(filename,'r')
- textpad.insert(1.0,f.read())
- f.close()
- # 新建文件
- def new():
- global filename
- root.title('未命名文件')
- filename=None
- textpad.delete(1.0,END)
- #保存
- def save():
- global filename
- try:
- f=open(filename,'w')
- msg=textpad.get(1.0, END)
- f.write(msg)
- f.close()
- except:
- saveas()
- def saveas():
- f=asksaveasfilename(initialfile='为命令的.txt',defaultextension='.txt')
- global filename
- filename=f
- fh=open(f,'w')
- msg=textpad.get(1.0,END)
- fh.write(msg)
- fh.close()
- root.title()
- root.title(os.path.basename(f))
- def cut():
- textpad.event_generate('<<Cut>>')
- def copy():
- textpad.event_generate('<<Copy>>')
- def undo():
- textpad.event_generate('<<Undo>>')
- def redo():
- textpad.event_generate('<<Redo>>')
- def paste():
- textpad.event_generate('<<Paste>>')
- def selectall():
- textpad.tag_add('sel','1.0',END)
- root= Tk()
- root.title('yubenliu')
- root.geometry('500x500+100+100')
- menubar= Menu(root)
- root.config(menu=menubar)
- filemenu=Menu(menubar)
- #文件的创建
- filemenu.add_command(label='新建',accelerator='ctrl+N ',command=new)
- filemenu.add_command(label='打开',accelerator='ctrl+O',command=ybl)
- filemenu.add_command(label='保存',accelerator='ctrl+ S',command=save)
- filemenu.add_command(label='另存为',accelerator='ctrl+W',command=saveas)
- menubar.add_cascade(label='文件',menu=filemenu)
- editmenu=Menu(menubar)
- #编辑的创建
- editmenu.add_command(label='撤销',accelerator='ctrl + Z',command=undo)
- editmenu.add_command(label='重做',accelerator='ctrl + y',command=redo)
- editmenu.add_separator()
- editmenu.add_command(label='剪切',accelerator='ctrl + x',command=cut)
- editmenu.add_command(label='复制',accelerator='ctrl + c',command=copy)
- editmenu.add_command(label='粘贴',accelerator='ctrl + v',command=paste)
- editmenu.add_separator()
- editmenu.add_command(label='查找',accelerator='ctrl + F')
- editmenu.add_command(label='全选',accelerator='ctrl + A',command=selectall)
- menubar.add_cascade(label='编辑',menu=editmenu)
- aboutmenu=Menu(menubar)
- #关于的创建
- aboutmenu.add_command(label='作者',command=author)
- aboutmenu.add_command(label='版权',command=about)
- aboutmenu.add_command(label='关于')
- menubar.add_cascade(label='关于',menu=aboutmenu)
- #工具栏
- toobar=Frame(root,height=25,bg='light sea green')
- shortButton=Button(toobar,text='打开',command=ybl)
- shortButton.pack(side=LEFT,padx=5,pady=5)
- shortButton=Button(toobar,text='保存',command=save)
- shortButton.pack(side=LEFT)
- toobar.pack(fill=X,expand=NO)
- #状态栏
- 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开发一个简单的BBS论坛
项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...
- Python开发简单记事本
摘要: 本文是使用Python,结合Tkinter开发简单记事本. 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能. 最近很想对p ...
- python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题
今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...
- Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)
一.如何用Python开发一个简单的Webservice 利用python的cgi编程,可以传入参数将结果输出. 定义需要编码以及需要引用的模块 #conding=utf-8 #修正中文乱码 impo ...
- 麦子学院python开发全套完整无加密课程
点击了解更多Python课程>>> 麦子学院python开发全套完整无加密课程 第一阶段:Python基础准备 1.Web前端开发之HTML+CSS基础入门 2.Javascript ...
- Python开发之【简单计算器】
开发一个简单的python计算器 1.实现加减乘除及括号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * ...
- Python开发简单爬虫 - 慕课网
课程链接:Python开发简单爬虫 环境搭建: Eclipse+PyDev配置搭建Python开发环境 Python入门基础教程 用Eclipse编写Python程序 课程目录 第1章 课程介绍 ...
- 用python开发简单ftp程序
根据alex老师视频开发的简单ftp程序,只能实现简单的get功能 ftp客户端程序: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import socke ...
- 作业1开发一个简单的python计算器
开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...
随机推荐
- Eclipse中使用GIT提交文件至本地
GIT提交文件至本地: 1. 右击项目——Team——Commit…: 2.在弹出的Commit Changes框中——选择要提交的文件——填写提交说明——点击Commit,即可提交至本地.
- C语言基本语法——预处理器和预处理指令
1.什么是预处理器 2.什么是预处理器指令 3.预处理器指令 4.宏指令 5.宏函数 6.宏函数的优缺点 7.条件编译指令 1.什么是预处理器 • 预处理器是一个程序,用来处理源程序中的预处理指令. ...
- [COCI2007]PRAVOKUTNI
题目大意:在一个平面上,有\(N\)个点,求这些点构成的直角三角形个数.解题思路:枚举直角顶点,对于每个点,将这个点当做原点,对其他点按极角排序,然后双指针扫一遍,判断弧度差即可. C++ Code: ...
- Linux 进程及作业管理
进程简介: 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 进程(Process):什么是进程,进程是程序的执行实例,即运行中的程序,同时也是程序的一个副本:程序是放置于磁 ...
- 页面关闭或刷新时触发javascript的事件
当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document ...
- 【转】python 关键字
转自:http://www.cnblogs.com/hongten/p/hongten_python_keywords.html python3.3.2中的关键字如下: The following i ...
- Vue经典开源项目
Vue常用的开源项目和插件库 UI组件 element ★34,784 - 饿了么出品的基于Vue2的web UI工具套件storybook ★33,503 - 响应式UI 开发及测试环境Vux ★1 ...
- Linux 上安装 Zookeepr
一.下载Zookeeper 百度网盘:https://pan.baidu.com/s/1BHV6vHcHIuj7lalvvR7w_g 密码:csvk 二.解压缩包 tar -zxvf zookeepe ...
- Tarjan强联通分量【模板】
#include <algorithm> #include <cstdio> using namespace std; ); int n,m,v,u; int edgesum, ...
- java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol
java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...