You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
3.1 KiB

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()