前言
本文的操作环境: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)
新闻热点
疑难解答