• Text Editor


    题目要求:

    Notepad style application that can open, edit, and save text documents. 

    Add syntax highlighting and other features.

    下面的代码实现了部分第一行题目要求

    没有实现第二行题目要求(语法高亮)。没时间做,欢迎评论

    import tkinter
    from tkinter import *
    from tkinter.ttk import Scrollbar
    
    root = tkinter.Tk()  # 类的对象化, 创建一个GUI对象
    root.title("TextEditor")  # 窗口名称
    root.geometry("600x400")  # 窗口尺寸
    enter_file = tkinter.Entry(root)  # 类的对象化, 在GUI中创建一个输入框
    enter_file.pack()  # 输入框的放置(必备语句)
    word = tkinter.Text(root, undo=True)   # 类的对象化, 在GUI中创建一个显示框
    word.pack()
    scroll_bar = Scrollbar(root)  # 类的对象化, 在GUI中创建一个滚动条
    scroll_bar.config(command=word.yview)  # 关联显示框与滚动条
    word.config(yscrollcommand=scroll_bar.set, width=20, height=20, background='#ffffff')
    word.pack(side=LEFT, fill=BOTH, expand=1)
    scroll_bar.pack(side=RIGHT, fill=Y)
    menu = tkinter.Menu(root)  # 类的对象化,在GUI中创建一个菜单栏
    root.config(menu=menu)   # 关联
    
    def openfile():
        file_path = enter_file.get()  # 获取输入框的内容
        with open(file_path) as fp:
            content = fp.read()  # 读取文件
            word.delete(0.0, tkinter.END)  # 清空显示框
            word.insert(tkinter.END, content)  # 显示读取的文件
    
    
    def savefile():
        content = word.get(0.0, tkinter.END)
        file_path = enter_file.get()
        with open(file_path, 'w') as fw:
            fw.write(content)   # 将显示文本框的一切内容保存到原文件,也就是编辑功能
    
    
    def undo():
        word.edit_undo()  # 撤销上一步操作功能
    
    
    button_o = tkinter.Button(root, text='open', command=openfile)  # 设置按钮标签与点击之后的动作
    button_s = tkinter.Button(root, text='save', command=savefile)
    button_o.pack()
    button_s.pack()
    menu.add_command(label='撤销', command=undo)  # 设置菜单栏标签与相应的动作
    
    root.mainloop()  # 必备语句, 进入死循环  让窗口一直显示
    
    
    # 调用:
    # 在新打开的GUI界面之中输入txt文件的完整绝对路径,别忘记文件名后缀!
    # 即可实现:打开,编辑,撤销,保存功能
    May we all proceed with wisdom and grace. https://www.cnblogs.com/YlnChen/
  • 相关阅读:
    Leetcode 532.数组中的K-diff数对
    Leetcode 529.扫雷游戏
    定增游戏(三)
    套利不归路(五)
    定增游戏(一)
    套利不归路(四)
    套利不归路(三)
    套利不归路(二)
    套利不归路(一)
    减持大逃亡(二)
  • 原文地址:https://www.cnblogs.com/YlnChen/p/12588425.html
Copyright © 2020-2023  润新知