下边资料是关于python通过Tkinter库实现的一个简单的文本编辑器的内容。
<代码>从tkSimpleDialog askstring进口 从tkFileDialog进口asksaveasfilename 从tkMessageBox进口askokcancel 类懒人(帧): def __init__(自我,父=None): 框架。__init__(自我、父母) self.pack () 小部件=按钮(自我、文本=按侵啊?命令=self.quit) 小部件。包(扩大=YES,填补=,=左) def辞职(自我): ans=askokcancel(“验证退出”,“真的辞职吗?”) 如果答:Frame.quit(自我) 类ScrolledText(帧): def __init__(自我、父母=没有文本=" file=None): 框架。__init__(自我、父母) 自我。包(扩大=是的,填补=) self.makewidgets () 自我。settext(文本、文件) def makewidgets(自我): 条形=滚动条(自我) 文本=文本(自我,缓解=沉) sbar.config(命令=text.yview) text.config (yscrollcommand=sbar.set) 条形。包(=正确,填补=Y) 文本。包(=左,扩大=是的,填补=) 自我。文本=文本 def settext(自我、文本=" file=None): 如果文件: 文本=打开(文件,“r”) .read () self.text.delete(“1.0”,结束) self.text.insert(“1.0”,文本) self.text。mark_set(插入、“1.0”) self.text.focus () def gettext(自我): 返回self.text.get(“1.0”,结束+ 1 c) 类SimpleEditor (ScrolledText): def __init__(自我、父母=没有文件=None): 纳=框架(父) frm.pack(填补=X) 按钮(纳、文本=氨4妗泵?self.onSave) .pack(左端=) 按钮(纳、文本=跋骷酢?命令=self.onCut) .pack(左端=) 按钮(纳、文本=罢程泵?self.onPaste) .pack(左端=) 按钮(纳、文本=⑾帧?self.onFind) .pack(左端=) 轻易放弃的人(农场).pack(左端=) ScrolledText。__init__(自我、父母、文件=文件) self.text。配置(字体=(“信使”,9日'正常')) def onSave(自我): 文件名=asksaveasfilename () 如果文件名: alltext=self.gettext () open (filename ' w ') .write (alltext) def onCut(自我):=self.text文本。get (SEL_FIRST SEL_LAST) self.text.delete (SEL_FIRST SEL_LAST) self.clipboard_clear () self.clipboard_append(文本) def onPaste(自我): 试一试: 选择文本=self.selection_get(=凹籼濉? self.text。插入(插入、文本) 除了TclError: 通过 def onFind(自我): 目标=askstring (“SimpleEditor”,“搜索字符串吗?”) 如果目标:=self.text的地方。搜索(目标、插入、结束) 如果地点: 打印的地方 pastit=, +(' + %直流' % len(目标)) # self.text。tag_remove(选取,“1.0”,结束) self.text。tag_add(选取,pastit) self.text。pastit mark_set(插入) self.text.see(插入) self.text.focus () if __name__==癬_main__”: 试一试: SimpleEditor(文件=sys.argv [1]) .mainloop () 除了IndexError: .mainloop SimpleEditor()() 代码>