Untitled

 avatar
unknown
plain_text
2 years ago
1.7 kB
21
Indexable
import sys
import json
from tkinter import *
from PIL import Image, ImageTk

window = Tk()
window.title("GUI密碼管理器")
window.geometry("1440x1080")
window.resizable(True, True)
window.config(padx=50, pady=50)

img = ImageTk.PhotoImage(file="lock.png")

canvas = Canvas(width=600, height=480, highlightthickness=0)
canvas.create_image(224, 225, image=img)
canvas.grid(row=0, column=0, columnspan=2)


servicename_label = Label(text="網站或APP名稱", font=("宋體", 24))
servicename_label.grid(row=1, column=0)

account_label = Label(text="帳號", font=("宋體", 24))
account_label.grid(row=2, column=0)

password_label = Label(text="密碼", font=("宋體", 24))
password_label.grid(row=3, column=0)

servicename_entry = Entry(width=25, font=("Terminal", 16))
servicename_entry.grid(row=1, column=1)

account_entry = Entry(width=25, font=("Terminal", 16))
account_entry.grid(row=2, column=1)

password_entry = Entry(width=25, font=("Terminal", 16))
password_entry.grid(row=3, column=1)

def add_password():
    servicename = servicename_entry.get()
    account = account_entry.get()
    password = password_entry.get()

    try:
        with open("passwordtable.json", "r") as f:
            password_dic = json.load(f)
    except FileNotFoundError:
        password_dic = {}
        with open("passwordtable.json", "w") as f:
            f.write(json.dumps(password_dic))

    password_dic[servicename] = {"account": account, "password": password}

    with open("passwordtable.json", "w") as f:
        f.write(json.dumps(password_dic))
    return True


button = Button(text="新增", font=("Terminal", 24), fg="white", bg="#0066cc", command=lambda:add_password())
button.grid(row=4, column=0,columnspan=2)

window.mainloop()
Editor is loading...