• 一个简单的记事本程序


    在网上看到的,经测试装有wxpython的,版本为2.7.3的python可用。

    # !usr/bin/env python 2.7.3
    # coding: utf-8
    # filename: notepad.py
    from Tkinter import *
    from ScrolledText import *
    import tkMessageBox
    from tkFileDialog import *
    import fileinput
    
    t1=[]
    root=None
    
    def die():
     sys.exit(0)
    
    def about():
     tkMessageBox.showinfo("Tkeditor","V1.0\n"
      "written in 2012\n"
      "writer:Test")
     
    class editor:
     def __init__(self,rt):
      if rt==None:
       self.t=Tk()
      else:
       self.t=Toplevel(rt)
      self.t.title("Tkeditor %d"%len(t1))
      self.bar=Menu(rt)
      
      self.filem=Menu(self.bar)
      self.filem.add_command(label="打开",command=self.openfile)
      self.filem.add_command(label="新建",command=neweditor)
      self.filem.add_command(label="保存",command=self.savefile)
      self.filem.add_command(label="关闭",command=self.close)
      self.filem.add_separator()
      self.filem.add_command(label="退出",command=die)
      
      self.helpm=Menu(self.bar)
      self.helpm.add_command(label="关于",command=about)
      self.bar.add_cascade(label="文件",menu=self.filem)
      self.bar.add_cascade(label="帮助",menu=self.helpm)
      self.t.config(menu=self.bar)
      
      self.f=Frame(self.t,width=512)
      self.f.pack(expand=1,fill=BOTH)
      
      self.st=ScrolledText(self.f,background="white")
      self.st.pack(side=LEFT,fill=BOTH,expand=1)
     
     def close(self):
      self.t.destroy()
     
     def openfile(self):
      p1=END
      oname=askopenfilename(filetypes=[("Python file","*.*")])
      if oname:
       for line in fileinput.input(oname):
        self.st.insert(p1,line)
       self.t.title(oname)
     
     def savefile(self):
      sname=asksaveasfilename()
      if sname:
       ofp=open(sname,"w")
       ofp.write(self.st.get(1.0,END))
       ofp.flush()
       ofp.close()
       self.t.title(sname)
     
    def neweditor():
     global root
     t1.append(editor(root))
     
    if __name__=="__main__":
     root=None
     t1.append(editor(root))
     root=t1[0].t
    root.mainloop()
  • 相关阅读:
    读书笔记—CLR via C#线程25-26章节
    算法回顾--N皇后问题简单回顾
    编程拾趣--集合子集问题
    读书笔记—CLR via C#异常和状态管理
    读书笔记—CLR via C#字符串及文本
    设计模式---抽象工厂
    读书笔记—CLR via C#反射
    读书笔记—CLR via C#委托和attribute
    C#编程实践—EventBroker简单实现
    Linux平台屏幕录像工具RecordMyDesktop
  • 原文地址:https://www.cnblogs.com/luhouxiang/p/2612534.html
Copyright © 2020-2023  润新知