我有一个用tkinter制作的GUI文本编辑器。它当前打开、保存和清除屏幕。我已经添加了一个加密和解密按钮,并将最终应用ceasar密码到任何文本在屏幕上。到目前为止我的加密按钮
def encrypt():
text = editor.get(1.0, tk.END)
encryptList = []
for word in text:
encryptList.append(word)
random.shuffle(encryptList)
return encryptList我想要做的是从屏幕上的任何东西(我使用带有" test“多次打印的测试文件)对屏幕上的文本进行洗牌,在我能够这样做之后,我可以在屏幕上的文本上实现一个cesar密码。(我希望)
整个代码:
#Import Module
import random
import tkinter as tk
from tkinter.filedialog import askopenfilename, asksaveasfilename
from tkinter import ttk
#Create Function for New File Button
def fileNew():
editor.delete(1.0, tk.END)
#Create Function For Open File Button
def fileOpen():
editor.delete(1.0, tk.END)
filepath = askopenfilename(filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")])
with open(filepath, "r") as file:
text = file.read()
editor.insert(tk.END, text)
def encrypt():
text = editor.get(1.0, tk.END)
encryptList = []
for word in text:
encryptList.append(word)
random.shuffle(encryptList)
return encryptList
#Create Function For Save File Button
def fileSave():
save = asksaveasfilename(defaultextension=".*", filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")])
if not save:
return
with open(save, "w") as fileOutput:
text = editor.get(1.0, tk.END)
fileOutput.write(text)
#GUI
root = tk.Tk()
root.rowconfigure(0, minsize=500, weight=1)
root.columnconfigure(1, minsize=800, weight=1)
#Title
root.title()
#Text Editor
editor = tk.Text(root)
editor.configure(background="#263D42")
editor.grid(row=0, column=1, sticky="nsew")
#Scrollbar
scrollbar = ttk.Scrollbar(root, orient='vertical', command=editor.yview)
scrollbar.grid(row=0, column=2, sticky='ns')
#Left Side Panel
sidePanel = tk.Frame(root)
sidePanel.configure(background="#232e3a")
sidePanel.grid(row=0, column=0, sticky="ns")
#Open File Button
btn_open = tk.Button(sidePanel, text="Open", command=fileOpen)
btn_open.configure(background="#867c91")
btn_open.grid(row=0, column=0, sticky="ew", padx=5, pady=5)
#New File Button
btn_new = tk.Button(sidePanel, text="New", command=fileNew)
btn_new.configure(background="#867c91")
btn_new.grid(row=1, column=0, sticky="ew", padx=5, pady=5)
#Encrypt File Button
btn_open = tk.Button(sidePanel, text="Encrypt", command=encrypt)
btn_open.configure(background="#867c91")
btn_open.grid(row=2, column=0, sticky="ew", padx=5, pady=5)
#Decrypt File Button
btn_open = tk.Button(sidePanel, text="Decrypt")
btn_open.configure(background="#867c91")
btn_open.grid(row=3, column=0, sticky="ew", padx=5, pady=5)
#Save Button
btn_saveas = tk.Button(sidePanel, text="Save As", command=fileSave)
btn_saveas.configure(background="#867c91")
btn_saveas.grid(row=4, column=0, sticky="ew", padx=5, pady=5)
root.mainloop()发布于 2021-12-11 20:37:04
关着的不营业的。我想出来了
def encrypt():
text = editor.get(1.0, tk.END)
encryptList = []
for word in text:
encryptList.append(word)
random.shuffle(encryptList)需要添加
editor.delete(1.0, tk.END)
editor.insert(tk.END, encryptList)https://stackoverflow.com/questions/70318756
复制相似问题