Python--GUI之简单记事本的构建

Python--GUI之简单记事本的构建

python用于构建图形界面的模块

  • pyqt : 通常用于大型项目中,目前属于主流
  • wxpython : 拥有比较完善的控件,但是相对比较老的库了
  • tkinter : 轻量级的开发框架

本次案例主要应用了tkiner,代码如下:

    from tkinter import *
    from tkinter.filedialog import *
    def new():
    txt = text.get(1.0,END)
    if not txt:
        return
    savefile()
    # else:
    # text.delete(1.0,END)

    def openfile():
        filename = askopenfilename(title='打开文档',filetypes=[('文本文档',"*.txt"),("py文件","*.py")])
        print(filename)
        if not filename:
            return
        txt = open(filename).read()
        text.insert("1.0",txt)
        root.title("%s - 记事本"%filename.split('/')[-1])
    def savefile():
        filename= asksaveasfilename(title='另存为',initialfile='未命名.txt',filetypes=[("文本文档","*.txt")],defaultextension='.txt')
        print(filename)
        if not filename:
            return
        fn = open(filename,'w')
        fn.write(text.get(1.0,END))
        fn.close()
        text.delete(1.0,END)
        root.title(u"%s - 记事本" %filename.split("/")[-1])
    def saveelse():
        pass

    root = Tk()

    # 修改名字
    root.title("无标题 - 记事本")

    # 修改窗口大小 + 窗口的显示位置
    root.geometry("300x200+1000+300")

    # 添加控件
    me = Menu()

    root.config(menu = me)

    filemenu = Menu(me)  # 二级菜单

    filemenu.add_command(label="新建",accelerator='Ctrl + N',command=new)

    filemenu.add_command(label="打开",accelerator="Ctrl + O",command=openfile)

    filemenu.add_command(label="保存",accelerator="Ctrl + S",command=savefile)

    filemenu.add_command(label="另存为",accelerator="Ctrl + S",command=saveelse)

    filemenu.add_separator()
    filemenu.add_command(label="页面设置")
    filemenu.add_command(label="打印")

    filemenu.add_separator()
    filemenu.add_command(label="退出",command=root.quit)
    me.add_cascade(label="文件",menu=filemenu)
    # 编辑区
    text = Text() # 多行文本框
    text.pack(expand=YES,fill=BOTH)
    # 显示窗口
    root.mainloop()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,654评论 6 427
  • 前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...
    依依玖玥阅读 8,925评论 6 37
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,926评论 4 418
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 9,223评论 1 61
  • 编程中有代码重用的概念, 那么git中同样也有这个概念.那么接下来就说说git中的 重用提交(reuse comm...
    元亨利贞o阅读 14,509评论 0 4