最近在练习一个关于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入门之一个简单记事本相关推荐

  1. 记事本写python怎么运行-Python开发简单记事本

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

  2. 手机上的python怎么运行,python在手机上怎么操作

    大家好,小编来为大家解答以下问题,python在手机上怎么操作,手机上的python怎么运行,现在让我们一起来看看吧! 1.手机浏览器运行python 手机浏览器运行python是因为手机浏览器和py ...

  3. python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型

    微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...

  4. Python之父龟叔:考虑在浏览器里面使用 Python.js 运行 Python 代码

    文 | 局长 出品 | OSC开源社区 Mypy 项目核心团队的成员 ethanhs 发表推特称,得益于 Python 团队核心开发者 @ChristianHeimes 最近提交的 commit,他找 ...

  5. python在线运行-python在线运行

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 结尾说可能会做一个python版的在线编辑工具,那么说到做到. 今天就写了个pyt ...

  6. python代码写完怎么运行-Python 项目代码写完了,然后怎么打包和发布?

    你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢? 喂,开源么? 接下来小帅b就跟你说说,如何打包你的代码. 就拿我们上次演示的 用 Python 开发一个 「个人计划 todolis ...

  7. python在哪里写程序和运行-Python程序的编写和运行方式有两种()

    [判断题]"战略决定组织结构"应当成为战略实施阶段所依据的原则. [判断题]计划按职能可以划分生产计划.营销计划.财务计划.人事计划等. [判断题]站务员为乘客服务过程中要多换位思 ...

  8. 简易 Python 3 运行 Python 2 代码

    Python3运行Python2代码 Python3版本运行Python2的代码,运用2to3.py.在Python安装文件目录下写一个简单的2版本命令,如print "hello worl ...

  9. docker 使用python 镜像运行python脚本

    第一步创建:python脚本 # touch helloworld.py #vim helloworld.py #!/usr/bin/python print("hello world!&q ...

最新文章

  1. RabbitMQ 入门系列(4)— RabbitMQ 启动、停止节点和应用程序、用户管理、权限配置
  2. NEC中标里斯本智慧城市项目 助力城市整体数字化变革
  3. 2021考研数一李正元400题、张宇4套卷题目整理
  4. SpringBoot中使用thymeleaf时点击按钮触发事件失败
  5. 部署OCS后修改web farm地址
  6. 第三十七期:刷脸支付叫好不叫座,为啥消费者和商家都不愿用先进科技?
  7. inventor扳手制作视频_弱电工程视频监控系统施工方案,可作施工组织设计
  8. mysql 6.5安装配置,RedHat6.5安装MySQL5.7教程详解
  9. Day7 子类调用父类的方法supper 绑定方法与非绑定方法
  10. python机器学习库教程——结巴中文分词
  11. 使用UniWebView时的内存管理
  12. MPEG4 协议详解
  13. kindle型号查询
  14. 计算机里面的wps如何删除,如何快速删除电脑上的wps的所有换行符
  15. Java模拟新浪微博登陆抓取数据
  16. Unity学习笔记------用Unity2D制作打地鼠游戏
  17. 苹果发布iOS10.2.1 ,别升级!别问为什么
  18. 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新2)
  19. 运算放大器的环路补偿-关于并联的电阻电容的分析
  20. 【计算机系统结构】~ ROM/PROM/EPROM/E2PROM/FLASH、SOC 片上系统、总线、CPU 处理器、Cache、DDR、ARM 体系结构、虚拟内存、内核 kernel

热门文章

  1. php下关于Cannot use a scalar value as an array的解决办法
  2. 【转】Mybatis传多个参数(三种解决方案)
  3. JS判断是否是移动设备进行http链接重定向
  4. (并查集 建立关系)食物链 -- POJ-- 1182
  5. CentOS 6.5安装MongoDB 2.6(多yum数据源)
  6. NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器
  7. 阚凯力:四核终端发展需软硬件相互促进
  8. 一些今天看到的好句子
  9. python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...
  10. python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...