当前位置:   article > 正文

txt文件编辑器(v5.0)_txt编辑器

txt编辑器

1、介绍:

环境:python3.8-3.10

导入包:win32api,win32con,tkinter,time,easygui,os,pynput,threading

废话不多说,先上源代码:

  1. import win32api,win32con
  2. import tkinter
  3. import tkinter as tk
  4. import tkinter.filedialog
  5. import tkinter.messagebox
  6. import tkinter.scrolledtext
  7. import tkinter.colorchooser
  8. import tkinter.simpledialog
  9. import time
  10. import easygui as g
  11. import tkinter
  12. import tkinter.messagebox
  13. import os
  14. #import virtkey
  15. from pynput.keyboard import Key, Controller
  16. from tkinter import *
  17. from tkinter.scrolledtext import ScrolledText
  18. from tkinter import messagebox
  19. from threading import Thread
  20. from tkinter.ttk import *
  21. # ----------------------------------------一、创建窗口-------------------------------------------------
  22. filename = "" # 定义空文件名
  23. win = tk.Tk()
  24. win.title('WSL文件编辑器')
  25. win["height"] = 400
  26. win["width"] = 600
  27. # ----------------------------------------特殊---------------------------------------------------------
  28. def new():
  29. #os.startfile(".\WSL文件编辑器.py")
  30. os.startfile(os.path.basename(__file__))
  31. def quit_exit():
  32. global filename
  33. if textChanged.get():
  34. yesno = tk.messagebox.askyesno(
  35. title="提醒", message="你想保存吗?") # 询问框
  36. if yesno == tkinter.YES:
  37. if not filename:
  38. SaveAs()
  39. else:
  40. Save()
  41. else:
  42. exit()
  43. #win.destroy()
  44. else:
  45. exit()
  46. #win.destroy()
  47. exit()
  48. #win.destroy()
  49. def popup(event):
  50. right.post(event.x_root,event.y_root)
  51. # ---------------------------------------二、功能定义区---------------------------------------------
  52. mylist=[]
  53. # -----------------------------------------1.菜单栏 File-----------------------------------------------------------
  54. textChanged = tk.IntVar(value=0) # 字符串计数器
  55. # 1.打开
  56. def Open():
  57. global filename
  58. # 1.获取字符,是否保存原来的文档
  59. if textChanged.get():
  60. yesno = tk.messagebox.askyesno(
  61. title="提醒", message="你想保存吗?") # 询问框
  62. if yesno == tkinter.YES:
  63. Save()
  64. #filename = tkinter.filedialog.askopenfilename(
  65. # title="Open file", filetypes=[("Text files", "*.txt")]) # 打开路径框
  66. #filename = g.fileopenbox(default="*.txt")
  67. # 2.打开新的文档
  68. #filename = g.fileopenbox("打开","","*.txt")
  69. filename = tkinter.filedialog.askopenfilename(
  70. title="打开", filetypes=[("Text files", "*.txt")]) # 打开路径框
  71. if filename:
  72. mylist.append(filename)
  73. (filepath,tempfilename) = os.path.split(filename)
  74. (file_name,extension) = os.path.splitext(tempfilename)
  75. if filename!="":
  76. win.title('WSL文件编辑器-'+file_name)
  77. else:
  78. win.title('WSL文件编辑器')
  79. txtContent.delete(0.0, tk.END) # 删除原来的文本
  80. #filename = tkinter.filedialog.askopenfilename(
  81. # title="Open file", filetypes=[("Text files", "*.txt")]) # 打开路径框
  82. #filename = g.fileopenbox(default="*.txt")
  83. fp = open(filename, "rb") # 读取文本
  84. txtContent.insert(tkinter.INSERT, "".join(
  85. fp.read().decode('GBK'))) # 解码插入到文本编辑器
  86. fp.close() # 关闭指针
  87. textChanged.set(0) # 字符串置0
  88. # 2.保存
  89. def Save():
  90. global filename
  91. if not filename:
  92. SaveAs()
  93. elif textChanged.get():
  94. fp = open(filename, "w") # 创建文本
  95. fp.write(txtContent.get(0.0, tkinter.END)) # 将文本框的内容导入文件
  96. fp.close() # 关闭
  97. #win32api.MessageBox(0, "保存完毕", "WSL文件编辑器·保存",win32con.MB_OK)
  98. textChanged.set(0) # 计数器置0
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号