赞
踩
1、介绍:
环境:python3.8-3.10
导入包:win32api,win32con,tkinter,time,easygui,os,pynput,threading
废话不多说,先上源代码:
- import win32api,win32con
- import tkinter
- import tkinter as tk
- import tkinter.filedialog
- import tkinter.messagebox
- import tkinter.scrolledtext
- import tkinter.colorchooser
- import tkinter.simpledialog
- import time
- import easygui as g
- import tkinter
- import tkinter.messagebox
- import os
- #import virtkey
- from pynput.keyboard import Key, Controller
- from tkinter import *
- from tkinter.scrolledtext import ScrolledText
- from tkinter import messagebox
- from threading import Thread
- from tkinter.ttk import *
-
- # ----------------------------------------一、创建窗口-------------------------------------------------
- filename = "" # 定义空文件名
- win = tk.Tk()
- win.title('WSL文件编辑器')
- win["height"] = 400
- win["width"] = 600
- # ----------------------------------------特殊---------------------------------------------------------
-
- def new():
- #os.startfile(".\WSL文件编辑器.py")
- os.startfile(os.path.basename(__file__))
- def quit_exit():
- global filename
- if textChanged.get():
- yesno = tk.messagebox.askyesno(
- title="提醒", message="你想保存吗?") # 询问框
- if yesno == tkinter.YES:
- if not filename:
- SaveAs()
- else:
- Save()
- else:
- exit()
- #win.destroy()
- else:
- exit()
- #win.destroy()
- exit()
- #win.destroy()
-
- def popup(event):
- right.post(event.x_root,event.y_root)
-
- # ---------------------------------------二、功能定义区---------------------------------------------
-
- mylist=[]
-
- # -----------------------------------------1.菜单栏 File-----------------------------------------------------------
-
- textChanged = tk.IntVar(value=0) # 字符串计数器
-
- # 1.打开
-
-
- def Open():
- global filename
- # 1.获取字符,是否保存原来的文档
- if textChanged.get():
- yesno = tk.messagebox.askyesno(
- title="提醒", message="你想保存吗?") # 询问框
-
- if yesno == tkinter.YES:
- Save()
- #filename = tkinter.filedialog.askopenfilename(
- # title="Open file", filetypes=[("Text files", "*.txt")]) # 打开路径框
- #filename = g.fileopenbox(default="*.txt")
- # 2.打开新的文档
-
- #filename = g.fileopenbox("打开","","*.txt")
-
- filename = tkinter.filedialog.askopenfilename(
- title="打开", filetypes=[("Text files", "*.txt")]) # 打开路径框
- if filename:
- mylist.append(filename)
- (filepath,tempfilename) = os.path.split(filename)
- (file_name,extension) = os.path.splitext(tempfilename)
- if filename!="":
- win.title('WSL文件编辑器-'+file_name)
- else:
- win.title('WSL文件编辑器')
- txtContent.delete(0.0, tk.END) # 删除原来的文本
- #filename = tkinter.filedialog.askopenfilename(
- # title="Open file", filetypes=[("Text files", "*.txt")]) # 打开路径框
- #filename = g.fileopenbox(default="*.txt")
- fp = open(filename, "rb") # 读取文本
- txtContent.insert(tkinter.INSERT, "".join(
- fp.read().decode('GBK'))) # 解码插入到文本编辑器
- fp.close() # 关闭指针
- textChanged.set(0) # 字符串置0
-
- # 2.保存
-
-
- def Save():
- global filename
- if not filename:
- SaveAs()
-
- elif textChanged.get():
- fp = open(filename, "w") # 创建文本
- fp.write(txtContent.get(0.0, tkinter.END)) # 将文本框的内容导入文件
- fp.close() # 关闭
- #win32api.MessageBox(0, "保存完毕", "WSL文件编辑器·保存",win32con.MB_OK)
- textChanged.set(0) # 计数器置0

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。