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()
        ````
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值