记事本写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()

好吧,就这样,抽空再完善

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值