首页 > 编程 > Python > 正文

利用Python开发实现简单的记事本

2020-02-23 04:07:34
字体:
来源:转载
供稿:网友

前言

本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。

示例图

如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合我自身的习惯外加四个toolbar:新建、打开、撤销和保存。

下来就我个人构建这个记事本做个总结。

一、整体框架构建

1.三个主模块的建立

首先,我们先建立上图中的三个主模块,同时,在模块中建立各个模块的功能。先以文件为例:下设功能:新建、打开、保存和另存为,代码如下:

#-*-encoding:utf8from Tkinter import *root = Tk()root.title('Benben Node')#create menumenubar = Menu(root)root.config(menu = menubar)filemenu = Menu(menubar)filemenu.add_command(label = '新建',accelerator ='ctrl + N')filemenu.add_command(label = '打开',accelerator ='ctrl + O')filemenu.add_command(label = '保存',accelerator ='ctrl + S')filemenu.add_command(label = '另存为',accelerator ='ctrl + Shift + s')menubar.add_cascade(label = '文件',menu = filemenu)root.mainloop()

运行结果:

  我们可以看到一个简单的文件栏就建好了。对应的建立编辑和关于模块。编辑指的是对文本编辑中要使用的模块,下设功能:撤销,重做,复制,剪切,粘贴,查找和全选;关于是下设作者和版权两栏。相应模块对应的代码如下:

#编辑editmenu = Menu(menubar)editmenu.add_command(label = '撤销',accelerator = 'ctrl + z')editmenu.add_command(label = '重做',accelerator = 'ctrl + y')editmenu.add_command(label = '复制',accelerator = 'ctrl + c')editmenu.add_command(label = '剪切',accelerator = 'ctrl + x')editmenu.add_command(label = '粘贴',accelerator = 'ctrl + v')editmenu.add_command(label = '查找',accelerator = 'ctrl + F')editmenu.add_command(label = '全选',accelerator = 'ctrl + A')menubar.add_cascade(label = '编辑',menu = editmenu)#关于aboutmenu = Menu(menubar)aboutmenu.add_command(label = '作者')aboutmenu.add_command(label = '版权')menubar.add_cascade(label = '关于',menu = aboutmenu)

运行结果:

截图未能得到各个模块对应的功能。

2.toolbar

在记事本中添加toolbar,添加对应的button并设定合适的间距,对应的代码如下:

#toolbartoolbar = Frame(root,height = 15,bg = 'SkyBlue')shortButton = Button(toolbar,text = '新建',command = open)shortButton.pack(side = LEFT)shortButton = Button(toolbar,text = '打开',command = openfile)shortButton.pack(side = LEFT,padx = 5,pady = 5)shortButton = Button(toolbar,text = '保存',command = save)shortButton.pack(side = RIGHT)shortButton = Button(toolbar,text = '撤销',command = undo)shortButton.pack(side = RIGHT,padx = 5,pady = 5)toolbar.pack(expand = NO,fill = X)            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表