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.

124 lines
3.9 KiB

from tkinter import *
import tkinter as tk
from tkinter import filedialog
import pymysql
from flask import Flask, render_template, request, redirect, url_for
conn = pymysql.connect(host='localhost',
user='root',
password='123456',
database='scaner',
port=3306,
charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
print("数据库连接成功!")
# 查询用户信息
def userinfo_query(username, password):
cursor.execute("select * from `user`")
data = cursor.fetchall()
username_list_length = len(data)
for i in range(username_list_length):
username.append(data[i][0])
password.append(data[i][1])
def user_register():
deng = Tk()
deng.title("注册")
deng.geometry("300x200")
# 在GUI中添加新的输入字段和按钮
label_new_username = Label(deng, text="新账号:")
label_new_username.pack()
entry_new_username = Entry(deng)
entry_new_username.pack()
label_new_password = Label(deng, text="新密码:")
label_new_password.pack()
entry_new_password = Entry(deng, show="*")
entry_new_password.pack()
btn_register = Button(deng, text="注册", command=lambda: register_action(entry_new_username, entry_new_password))
btn_register.pack(side='right', padx=50)
def register_action(entry_new_username, entry_new_password):
cursor.execute("INSERT INTO user (`username`, `password`) VALUES (%s, %s)",
(entry_new_username.get(), entry_new_password.get()))
conn.commit()
print("注册成功!")
def user_login():
global count
count = 2
username_list = []
password_list = []
userinfo_query(username_list, password_list)
username_input = entry_username.get()
password_input = entry_password.get()
if username_input not in username_list:
label_message.config(text="账号错误!")
else:
if password_input in password_list:
def choose_folde():
root.destroy()
root5 = tk.Tk()
root5.title('选择图片')
root5.geometry('300x300')
folder_path = filedialog.askdirectory()
if folder_path:
print(f"您选择了文件夹: {folder_path}")
root.mainloop()
def callback():
rootback = tk.Tk()
rootback.title('用户界面')
rootback.geometry('300x300')
tk.Label(rootback, text='请选择你的功能').pack()
tk.Button(rootback, text="选择需要扫描的图片", command=choose_folde).pack()
rootback.mainloop()
# windows.destroy()
root = tk.Tk()
root.title('用户界面')
root.geometry('300x300')
tk.Label(root, text='请选择你的功能').pack()
tk.Button(root, text="选择需要扫描的图片", command=choose_folde).pack()
tk.mainloop()
else:
label_message.config(text="密码错误!还可以尝试{}".format(count))
count += 1
if count == 3:
label_message.config(text="登录失败!")
btn_login.config(state='disabled')
windows = Tk()
windows.title("登录")
windows.geometry("300x200")
label_username = Label(windows, text="账号:")
label_username.pack()
entry_username = Entry(windows)
entry_username.pack()
label_password = Label(windows, text="密码:")
label_password.pack()
entry_password = Entry(windows, show="*")
entry_password.pack()
btn_login = Button(windows, text="登录", command=user_login)
btn_login.pack(side='left', padx=50)
entry_password.pack()
btn_login = Button(windows, text='注册', command=user_register)
btn_login.pack(side='right', padx=50)
label_message = Label(windows, text="")
label_message.pack()
windows.mainloop()