香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

python基于Tkinter库实现简单文本编辑器实例


时间:2021-11-29 16:25 作者:admin


本文实例讲述了python/' target='_blank'>python基于Tkinter库实现简单文本编辑器的方法。分享给大家供大家参考。具体实现方法如下:

## {{{ http://code.activestate.com/recipes/578568/ (r1)from Tkinter import * from tkSimpleDialog import askstringfrom tkFileDialog  import asksaveasfilenamefrom tkMessageBox import askokcancel     class Quitter(Frame):              def __init__(self, parent=None):         Frame.__init__(self, parent)    self.pack()    widget = Button(self, text='Quit', command=self.quit)    widget.pack(expand=YES, fill=BOTH, side=LEFT)  def quit(self):    ans = askokcancel('Verify exit', "Really quit?")    if ans: Frame.quit(self)class ScrolledText(Frame):  def __init__(self, parent=None, text='', file=None):    Frame.__init__(self, parent)    self.pack(expand=YES, fill=BOTH)            self.makewidgets()    self.settext(text, file)  def makewidgets(self):    sbar = Scrollbar(self)    text = Text(self, relief=SUNKEN)    sbar.config(command=text.yview)             text.config(yscrollcommand=sbar.set)          sbar.pack(side=RIGHT, fill=Y)              text.pack(side=LEFT, expand=YES, fill=BOTH)       self.text = text  def settext(self, text='', file=None):    if file:       text = open(file, 'r').read()    self.text.delete('1.0', END)              self.text.insert('1.0', text)             self.text.mark_set(INSERT, '1.0')           self.text.focus()                  def gettext(self):                    return self.text.get('1.0', END+'-1c')     class SimpleEditor(ScrolledText):              def __init__(self, parent=None, file=None):     frm = Frame(parent)    frm.pack(fill=X)    Button(frm, text='Save', command=self.onSave).pack(side=LEFT)    Button(frm, text='Cut',  command=self.onCut).pack(side=LEFT)    Button(frm, text='Paste', command=self.onPaste).pack(side=LEFT)    Button(frm, text='Find', command=self.onFind).pack(side=LEFT)    Quitter(frm).pack(side=LEFT)    ScrolledText.__init__(self, parent, file=file)     self.text.config(font=('courier', 9, 'normal'))  def onSave(self):    filename = asksaveasfilename()    if filename:      alltext = self.gettext()                 open(filename, 'w').write(alltext)       def onCut(self):    text = self.text.get(SEL_FIRST, SEL_LAST)        self.text.delete(SEL_FIRST, SEL_LAST)          self.clipboard_clear()           self.clipboard_append(text)  def onPaste(self):                      try:      text = self.selection_get(selection='CLIPBOARD')      self.text.insert(INSERT, text)    except TclError:      pass                     def onFind(self):    target = askstring('SimpleEditor', 'Search String?')    if target:      where = self.text.search(target, INSERT, END)       if where:                          print where        pastit = where + ('+%dc' % len(target))          #self.text.tag_remove(SEL, '1.0', END)           self.text.tag_add(SEL, where, pastit)           self.text.mark_set(INSERT, pastit)             self.text.see(INSERT)                  self.text.focus()            if __name__ == '__main__':  try:    SimpleEditor(file=sys.argv[1]).mainloop()    except IndexError:    SimpleEditor().mainloop()

希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)