From e4a0ab61d7d0f690419a49d5bd07bf70de8871c2 Mon Sep 17 00:00:00 2001 From: px3gkymai <1565756097@qq.com> Date: Sat, 17 Dec 2022 16:10:41 +0800 Subject: [PATCH] ADD file via upload --- client.py | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 client.py diff --git a/client.py b/client.py new file mode 100644 index 0000000..0cedee3 --- /dev/null +++ b/client.py @@ -0,0 +1,81 @@ +from tkinter import LEFT, RIGHT, Button, Entry, StringVar, ttk +from tkinter.filedialog import askopenfilename +from tkinter.tix import Tk # 升级的组合控件包 + +from client_createcip import createcip +from client_sendcipkey import sendcipkey +from client_senddata import senddata +from client_sendsig import sendsig +from client_twokey import client_twokey +from ttkbootstrap import Style + + +def init_window(): + # 创建窗口 + + global root + + root = Tk() + style = Style(theme='minty') + root.title("客户端") + root.geometry("700x500") + root.configure(bg='white') + root.resizable(width=True, height=True) # 设置窗口是否可以变化长/宽,False不可变,True可变,默认为True + root.tk.eval("package require Tix") + + # 创建文本框 + path = StringVar() + path.set("请选择文件") + ttk.Entry(root, textvariable=path, width=25,bootstyle="info").place(x=30,y=120,width=180,height=30) + + def selectPath(): + # 选择文件path_接收文件地址 + path_ = askopenfilename() + + # 通过replace函数替换绝对文件地址中的/来使文件可被程序读取 + # 注意:\\转义后为\,所以\\\\转义后为\\ + path_ = path_.replace("/", "\\\\") + # path设置path_的值 + path.set(path_) + + # 创建按钮 + ttk.Button(root, text="选择文件", command=selectPath,bootstyle="info").place(x=220,y=120) + + model = StringVar() + model.set("选择加密模式") + values = ["DES", "AES_ECB", "AES_CBC"] + ttk.Combobox( + master=root, # 父容器 + height=3, # 高度,下拉显示的条目数量 + width=15, # 宽度 + state="normal", # 设置状态 normal(可选可输入)、readonly(只可选)、 disabled + cursor="arrow", # 鼠标移动时样式 arrow, circle, cross, plus... # 字体 + textvariable=model, # 通过StringVar设置可改变的值 + values=values, + bootstyle="info",# 设置下拉框的选项 + ).place(x=30,y=210,width=180,height=30) + ttk.Button( + root,text="生成发送端公私钥",command=client_twokey,bootstyle="default-outline" + ).place(x=400, y=50, width=200, height=60) + # 创建按钮 + ttk.Button( + root,text="生成数字信封文件",command=lambda: createcip(path=path.get(), op=model.get()), + bootstyle="default-outline").place(x=400,y=140,width=200,height=60) + + ttk.Button(root, text="发送加密对称密钥", command=sendcipkey, + bootstyle="default-outline").place(x=400, y=230, width=200, height=60) + # 创建按钮 + ttk.Button(root, text="发送加密文件", command=senddata,bootstyle="default-outline").place(x=400, y=320, width=200, height=60) + + # 创建按钮 + ttk.Button(root, text="发送签名", command=sendsig,bootstyle="default-outline").place(x=400, y=410, width=200, height=60) + + # 创建按钮 + ttk.Button(root, text="退出", command=root.quit,bootstyle="info").place(x=30,y=300,width=180,height=30) + + # 进入消息循环 + root.mainloop() + + +if __name__ == "__main__": + init_window()