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.
91 lines
2.8 KiB
91 lines
2.8 KiB
6 months ago
|
import json
|
||
|
import os
|
||
|
import sqlite3
|
||
|
import tkinter as tk
|
||
|
import tkinter.messagebox as msgbox
|
||
|
import subprocess
|
||
|
|
||
|
window = tk.Tk()
|
||
|
window.resizable(0, 0)
|
||
|
window.title("管理员")
|
||
|
# 窗口居中偏右
|
||
|
ww, wh = 400, 250
|
||
|
sw, sh = window.winfo_screenwidth(), window.winfo_screenheight()
|
||
|
x, y = (sw - ww) / 2, (sh - wh) / 2
|
||
|
window.geometry("%dx%d+%d+%d" % (ww, wh, x, y))
|
||
|
|
||
|
# 管理员信息
|
||
|
admin_info = ""
|
||
|
try:
|
||
|
with open("record.txt", "r") as file:
|
||
|
admin_info += file.readlines()[1]
|
||
|
except FileNotFoundError:
|
||
|
admin_info = "管理员信息未找到"
|
||
|
l_admin = tk.Label(window, text="Operator:", font=("幼圆", 10))
|
||
|
l_admin.pack(side="left", anchor="nw")
|
||
|
l_adminName = tk.Label(window, text=admin_info)
|
||
|
l_adminName.pack(side="left", anchor="nw")
|
||
|
|
||
|
|
||
|
def admin_modify():
|
||
|
subprocess.run(["python", "admin_modify.py"])
|
||
|
|
||
|
|
||
|
btn_admin = tk.Button(window, text="修改信息", fg="black", borderwidth=2, command=admin_modify)
|
||
|
btn_admin.pack(side="right", anchor="ne")
|
||
|
# 功能面板
|
||
|
l_functions = tk.Label(window, text="功能菜单", bg="lightpink", font=("黑体", 14))
|
||
|
l_functions.place(x=20, y=50)
|
||
|
|
||
|
|
||
|
# 功能按钮
|
||
|
# 添加车辆
|
||
|
def add_info():
|
||
|
subprocess.run(["python", "add_info.py"])
|
||
|
|
||
|
|
||
|
# 查询信息
|
||
|
def select_info():
|
||
|
subprocess.run(["python", "select_info.py"])
|
||
|
|
||
|
|
||
|
# 显示信息
|
||
|
def findall():
|
||
|
"""将所有id写入sq_record.json"""
|
||
|
with open("sq_record.json", "w+") as fp:
|
||
|
con = sqlite3.connect("car_info.db")
|
||
|
cur = con.cursor()
|
||
|
cur.execute("select id from car")
|
||
|
indexList = cur.fetchall()
|
||
|
dumpList = [i[0] for i in indexList]
|
||
|
json.dump(dumpList, fp)
|
||
|
subprocess.run(["python", "results_found.py"])
|
||
|
|
||
|
|
||
|
def resetAll():
|
||
|
bool1 = msgbox.askokcancel(message="此操作即将清空数据库中的所有车辆数据,请确认")
|
||
|
if bool1:
|
||
|
try:
|
||
|
os.remove("car_info.db")
|
||
|
except FileNotFoundError:
|
||
|
msgbox.showerror(message="数据库文件未找到")
|
||
|
return
|
||
|
subprocess.run(["python", "initiation.py"])
|
||
|
msgbox.showinfo(message="已重置")
|
||
|
|
||
|
|
||
|
# 按钮
|
||
|
btn_add = tk.Button(window, text="添加/更新信息", width=14, font=("楷体", 12), command=add_info)
|
||
|
btn_select = tk.Button(window, text="查询信息", width=14, font=("楷体", 12), command=select_info)
|
||
|
btn_findall = tk.Button(window, text="查看所有/出场", width=14, font=("楷体", 12), command=findall)
|
||
|
btn_reset = tk.Button(window, text="重置数据库", width=14, font=("楷体", 12), command=resetAll)
|
||
|
btn_exit = tk.Button(window, text="退出登录", width=14, font=("黑体", 14), command=window.quit)
|
||
|
# 放置 间隔40
|
||
|
btn_add.place(x=40, y=90)
|
||
|
btn_select.place(x=180, y=90)
|
||
|
btn_findall.place(x=40, y=130)
|
||
|
btn_reset.place(x=180, y=130)
|
||
|
btn_exit.place(x=100, y=200)
|
||
|
|
||
|
window.mainloop()
|