Python-tkinter實現簡單的文本編輯器


Python-tkinter實現簡單的文本編輯器

文章鏈接:https://www.cnblogs.com/kong-gu/p/12650222.html

利用tkinter實現簡單的文本編輯器。創建一個簡單的文本編輯器。可以用讀文件的方式在一個文本域里顯示一些文字供用戶編輯。

當用戶退出程序時(通過 QUIT 按鈕)會詢問用戶是否保存所作的修改。

(直接上代碼~有注釋~)

 1 # -*- encoding: utf-8 -*-
 2 '''
 3 @File : 簡單文本編輯器.py  4 @Time : 2020/04/05 11:35:39  5 @Author : Konggu  6 @Desc : None  7 '''
 8 import os  9 import tkinter as tk 10 import tkinter.messagebox 11 from functools import partial as pto 12 from tkinter import filedialog, dialog 13 
14 path = r'F:\Python\網絡通信編程技術(2020-3-5)\第五周作業\\'
15 file_text = ''
16 window = tk.Tk() 17 window.title('啊嘞嘞?')    # 窗口標題
18 window.geometry('500x300')    # 窗口尺寸
19 t1 = tk.Text(window, width=50, height=10, bg='palegreen', font=(12)) 20 t1.pack() 21 
22 # 打開文件
23 def open_file(): 24     file_path = filedialog.askopenfilename(title=u'選擇文件', initialdir=(os.path.expanduser(path)))   # 文件選擇框(選擇文件)
25     with open(file=file_path, mode='r+', encoding='utf-8') as f: 26         file_text = f.read()      # 讀文件
27     t1.insert('insert', file_text) 28 
29 # 保存文件
30 def save(): 31     file_path = path + '文件.txt'       # 指定一個路徑
32     file_text = t1.get('1.0', tk.END) 33     if file_path is not None: 34         with open(file=file_path, mode='w', encoding='utf-8') as f:       # 保存到指定路徑
35  f.write(file_text) 36         t1.delete('1.0', tk.END) 37         print("保存成功") 38         tkinter.messagebox.showinfo(title='提示',message='保存成功!') 39 
40 # 退出
41 def quit(): 42     res = tk.messagebox.askokcancel(title = '等一下!',message='保存一手嗎?')      # 彈出框,可選(確定/取消)
43     print(res) 44     if res: 45  save() 46  window.quit() 47     else: 48         pass
49 
50 def main(): 51     bt1 = tk.Button(window, text='打開文件', width=15, height=2, command=open_file) 52  bt1.pack() 53     bt2 = tk.Button(window, text='退出', width=15, height=2, command=quit) 54  bt2.pack() 55  window.mainloop() 56 
57 
58 if __name__ == "__main__": 59     main()

   最后的效果:

   

 

   單擊 “打開文件” :

   

   “文件.txt” 里的內容:

   

   選擇 “文件.txt” 打開,效果:

   

 

   可以在上面的文本框里進行編輯:

   

   當單擊 “退出” 時,彈出 “是否保存文件” 的對話框:

   

 

    單擊確定即可在原文件保存:

   

 

    然后我們看到,“文件.txt” 里的內容已經改變:

   

 

 

    (如果有錯誤,歡迎指正!謝謝!)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM