Tkinter是Python标准图形用户界面(GUI )工具包,这次使用Tkinter制作迷你文本编辑器。
此文本编辑器需要四个基本功能。
允许用户打开指定的文本文件
允许用户编辑文本文件
允许保存文本文件
允许用户退出
首先,创建用户界面草图。
其使用方法如下
在按钮左侧的文本框中输入文件名,然后单击Open按钮打开文件,在下面的文本框中显示文本
在底部的大文本框中,可以自由编辑文本
要保存更改,请单击保存按钮。 这将大文本框的内容写入顶部文本框中指定的文件
如果没有" Quit "按钮,用户只能使用缺省Tkinter菜单中的" Quit "命令退出程序
首先,让我们看看创建此编辑器所需的基础知识:
一、基本构建
首先,导入tkinter :
来自tkinter导入*
创建用作主窗口的顶级组件。
顶=tk ()
创建按钮并实例化Button类:
btn=Button ()
调用布局管理器包:
btn.pack ()。
为按钮分配文本:
btn['text']='Click me!'
就这样:
效果出来了
然后,向按钮添加动作:
defclicked () :
.打印(Iwas clicked! ' )
.
btn['command']=clicked
此时,如果单击click me中的按钮,则会以交互方式显示弹出窗口。
二、布局
对控件调用方法pack时,该控件位于其父控件(主控件)中。 要指定主控件,请使用构造函数的第一个可选参数。 如果未指定,则顶级主窗口将用作主控件。
1等级(Text='I'minthefirstwindow! ').pack(2second=Toplevel ) )3label ) second,text='I'm in the second window!' . pack () ) )。
其中Toplevel类表示主窗口以外的顶级窗口,Label是文本标签。
效果是这样的:
如果未指定参数,则包将控件从窗口顶部重叠为一列,并位于窗口的水平中心。 例如,如果你使用循环:
forIinrange(10 ) :
button(text=I ).pack () ) ) )。
这样:
但是,可以调整控件的位置和拉伸方式。 请使用help命令查看具体的使用方法。
help (包. config ) help (网格.配置) help(pack.config ) )。
三.案件处理
可以通过设置属性command为按钮指定“操作”(action )。 这是一种特殊的事件处理,但Tkinter还提供了一种更常见的事件处理机制:方法bind。 要在控件中处理特定事件,请调用方法bind并指定事件的名称和要使用的函数。
1来自tkinter导入*
2top=tk(3defcallback(event ) :4打印) event.y,event.y )5 top.bind (',callback )6 '4322424456callback
其中是用鼠标左键(按钮1 )单击的事件的名称。 我们将此类事件与函数callback相关联。 这样,每当用户在窗口top中单击时,都会调用此函数。
具体使用和调整请参考以下内容。
帮助(tk.bind )。
现在,相关的基础知识已经介绍了。 最后返回开头的微文本编辑器。 其完整代码如下。
1来自tkinter导入*
2 from tkinter.scrolledtextimportscrolledtext3def load (:4 withopen (filename.get ) ) asfile:5contents.delete END ) file.read ) )7 defsave ) ) :8withopen ) filename.get ), ' w ' ) asfile33609fen END ) ) 10 top=tk (11 top.title (简单编辑器) ) 12 contents=ScrolledText ) ) 13contents.pack ) ex Tom fill=both (14 filename=entry ) ) 15filename.pack ) side=left,expand=True,fill=X ) 16button ) text='open
执行效果如下。
现在,微文本编辑器完成了。