记事本写python怎么运行-python入门之一个简单记事本
最近在练习一个关于python项目的列表,拿到列表看到这是要实现一个记事本功能,刚开始拿到题目真有点懵。虽然用python实现excel的处理已经很熟悉了,且已经把python的知识点都学了一遍,但是用起来还是不顺手呐。尤其是试验之后发现一定要用类实现起来才简单一些,对于这1点 ---类,,要知道本人已经接触c语言多年,但对于面向对象还是一窍不通。好吧,再去翻python关于类的知识,终于给整出来一点门道了。还是代码中解释吧。
注意:这是基于Python3。
#Python支持多种图形界面的库,为了不再麻烦去下载新的库,这里直接使用了python自带的tkinter库,记住本代码主要为了练习实现一个简单的GUI界面,顺便熟悉一下tkinter的使用
from tkinter import *
import os
from tkinter import filedialog
def die():
root.destroy()
class Create:
# init函数定义类的一些属性
def __init__(self,root):
self.root=(root)
#菜单控件;显示菜单栏,下拉菜单和弹出菜单,明显这里是要创建基于root的顶层菜单,记住名字self.menubar
self.menubar=Menu(root)
#Text是tkinter中的文本控件,用于显示多行文本
self.textpad = Text(root)
self.textpad.pack(expand=YES,fill=BOTH)#expand 允许拉伸,fill允许(xy两个方向)填充
#这里,是要创建基于顶层菜单的下拉菜单,记住它的名字self.filemenu
self.filemenu=Menu(self.menubar,tearoff=0)
#好吧,开始添加命令吧,记得要把实现方法添加到command属性中,顺便提一下menu的属性:label,command,accelerator,underline
self.filemenu.add_command(label="新建",accelerator="Ctrl+N")
self.filemenu.add_command(label="打开",command=self.openfile)
self.filemenu.add_separator()
self.filemenu.add_command(label="保存",command=self.save)
self.filemenu.add_command(label="另存为",command=self.donothing)
self.filemenu.add_separator()
self.filemenu.add_command(label="页面设置",accelerator="U",command=self.donothing)
self.filemenu.add_command(label="打印",accelerator="Ctrl+P",command=self.donothing)
self.filemenu.add_separator()
self.filemenu.add_command(label="退出",accelerator="X",command=die)
#好了,创建完毕就级联到顶层菜单上吧,顺便给它们起一个名字“文件”
self.menubar.add_cascade(label="文件",menu=self.filemenu)
self.editmenu = Menu(self.menubar, tearoff=0)
self.editmenu.add_command(label="Undo", command=self.donothing)
self.editmenu.add_command(label="Cut", command=self.donothing)
self.editmenu.add_command(label="Copy", command=self.donothing)
self.menubar.add_cascade(label="edit",menu=self.editmenu)
self.helpmenu = Menu(self.menubar, tearoff=0)
self.helpmenu.add_command(label="Help Index", command=self.donothing)
self.helpmenu.add_command(label="About...", command=self.donothing)
self.menubar.add_cascade(label="Help", menu=self.helpmenu)
self.root.config(menu=self.menubar)
def donothing(self):
filewin=Toplevel(self.root)
button=Button(filewin,text="hi,添加你的代码")
button.pack()
def openfile(self):
#这里,也是在网上搜了一下发现有如此好用的函数,看来要用python实现一个东西时,一定要先去了解一下有没有好用的库
filename = filedialog.askopenfilename(title = "打开",filetypes = [("文件","*.txt")])
if filename == '':
filename = None
else:
root.title('FileName:'+os.path.basename(filename))
self.textpad.delete(1.0,END)
f = open(filename,'r+')
self.textpad.insert(1.0,f.read())
f.close()
def save(self):
sname = filedialog.asksaveasfilename(title = "保存",filetypes = [("保存文件","*.txt")])
f = open(sname,'w+')
msg = self.textpad.get(1.0,END)
f.write(msg)
f.close()
if __name__ == "__main__":
root = Tk() #定义一个主窗口
root.title('记事本') #看到title了吗?添加一个属性,名字叫记事本
root.geometry("800x500") #几何布局,初始化主窗口的大小
window = Create(root) #从这里开始正式调用Create实现一个记事本
root.mainloop()
好吧,就这样,抽空再完善
记事本写python怎么运行-python入门之一个简单记事本相关推荐
- 记事本写python怎么运行-Python开发简单记事本
摘要: 本文是使用Python,结合Tkinter开发简单记事本. 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能. 最近很想对p ...
- 手机上的python怎么运行,python在手机上怎么操作
大家好,小编来为大家解答以下问题,python在手机上怎么操作,手机上的python怎么运行,现在让我们一起来看看吧! 1.手机浏览器运行python 手机浏览器运行python是因为手机浏览器和py ...
- python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型
微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...
- Python之父龟叔:考虑在浏览器里面使用 Python.js 运行 Python 代码
文 | 局长 出品 | OSC开源社区 Mypy 项目核心团队的成员 ethanhs 发表推特称,得益于 Python 团队核心开发者 @ChristianHeimes 最近提交的 commit,他找 ...
- python在线运行-python在线运行
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 结尾说可能会做一个python版的在线编辑工具,那么说到做到. 今天就写了个pyt ...
- python代码写完怎么运行-Python 项目代码写完了,然后怎么打包和发布?
你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢? 喂,开源么? 接下来小帅b就跟你说说,如何打包你的代码. 就拿我们上次演示的 用 Python 开发一个 「个人计划 todolis ...
- python在哪里写程序和运行-Python程序的编写和运行方式有两种()
[判断题]"战略决定组织结构"应当成为战略实施阶段所依据的原则. [判断题]计划按职能可以划分生产计划.营销计划.财务计划.人事计划等. [判断题]站务员为乘客服务过程中要多换位思 ...
- 简易 Python 3 运行 Python 2 代码
Python3运行Python2代码 Python3版本运行Python2的代码,运用2to3.py.在Python安装文件目录下写一个简单的2版本命令,如print "hello worl ...
- docker 使用python 镜像运行python脚本
第一步创建:python脚本 # touch helloworld.py #vim helloworld.py #!/usr/bin/python print("hello world!&q ...
最新文章
- RabbitMQ 入门系列(4)— RabbitMQ 启动、停止节点和应用程序、用户管理、权限配置
- NEC中标里斯本智慧城市项目 助力城市整体数字化变革
- 2021考研数一李正元400题、张宇4套卷题目整理
- SpringBoot中使用thymeleaf时点击按钮触发事件失败
- 部署OCS后修改web farm地址
- 第三十七期:刷脸支付叫好不叫座,为啥消费者和商家都不愿用先进科技?
- inventor扳手制作视频_弱电工程视频监控系统施工方案,可作施工组织设计
- mysql 6.5安装配置,RedHat6.5安装MySQL5.7教程详解
- Day7 子类调用父类的方法supper 绑定方法与非绑定方法
- python机器学习库教程——结巴中文分词
- 使用UniWebView时的内存管理
- MPEG4 协议详解
- kindle型号查询
- 计算机里面的wps如何删除,如何快速删除电脑上的wps的所有换行符
- Java模拟新浪微博登陆抓取数据
- Unity学习笔记------用Unity2D制作打地鼠游戏
- 苹果发布iOS10.2.1 ,别升级!别问为什么
- 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新2)
- 运算放大器的环路补偿-关于并联的电阻电容的分析
- 【计算机系统结构】~ ROM/PROM/EPROM/E2PROM/FLASH、SOC 片上系统、总线、CPU 处理器、Cache、DDR、ARM 体系结构、虚拟内存、内核 kernel
热门文章
- php下关于Cannot use a scalar value as an array的解决办法
- 【转】Mybatis传多个参数(三种解决方案)
- JS判断是否是移动设备进行http链接重定向
- (并查集 建立关系)食物链 -- POJ-- 1182
- CentOS 6.5安装MongoDB 2.6(多yum数据源)
- NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器
- 阚凯力:四核终端发展需软硬件相互促进
- 一些今天看到的好句子
- python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...
- python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...