#注册登录界面
import tkinter
import tkinter.messagebox
import sqlite3
# from ttkbootstrap import Style
cx = sqlite3.connect('D:/Edge Download/Python3 程序设计2版SourceCode/python36/ch11a/user23.db')
#cu=cx.cursor()
#cx.execute('''CREATE TABLE USER(
# NAME TEXT NOT NULL,
# PWD TEXT NOT NULL
# );''')
#创建应用程序窗口
win = tkinter.Tk()
win.title("登录界面")
win.geometry("300x200+600+300")
varName = tkinter.StringVar()
varName.set('')
varPwd = tkinter.StringVar()
varPwd.set('')
#创建标签
labelDLName = tkinter.Label(text='用户名:', justify=tkinter.RIGHT,width=80)
labelDLName.place(x=70, y=35, width=80, height=20)
#创建文本框,同时设置关联的变量
entryDLName = tkinter.Entry(win, width=80,textvariable=varName)
entryDLName.place(x=140, y=35, width=80, height=20)
labelDLPwd = tkinter.Label(text='密 码:', justify=tkinter.RIGHT, width=80)
labelDLPwd.place(x=70, y=60, width=80, height=20)
#创建密码文本框
entryDLPwd = tkinter.Entry(win, show='*',width=80, textvariable=varPwd)
entryDLPwd.place(x=140, y=60, width=80, height=20)
def login(): #登录按钮事件处理函数
#获取用户名和密码
cu = cx.cursor()
name = entryDLName.get()
pwd = entryDLPwd.get()
cu.execute("select * from USER where NAME=%s" % (name))
row = cu.fetchone()
if row:#找到用户
if row[1] == pwd:#判断密码是否正确
#exit()
win.destroy()
import 主界面
主界面.win()#系统界面
else:
tkinter.messagebox.showinfo(title='Python tkinter', message='密码错误')
varPwd.set('')
else:
tkinter.messagebox.showinfo(title='Python tkinter', message='用户不存在')
def registwindow(): #取消按钮的事件处理函数
zhuc = tkinter.Tk()
zhuc.title("注册界面")
zhuc.geometry("300x200+600+300")
varName = tkinter.StringVar()
varName.set('')
varPwd = tkinter.StringVar()
varPwd.set('')
labelZCName = tkinter.Label(zhuc, text='用户名:', justify=tkinter.RIGHT, width=80)
labelZCName.place(x=70, y=35, width=80, height=20)
# 创建文本框,同时设置关联的变量
entryZCName = tkinter.Entry(zhuc, width=80, textvariable=varName)
entryZCName.place(x=140, y=35, width=80, height=20)
labelZCPwd = tkinter.Label(zhuc, text='密 码:', justify=tkinter.RIGHT, width=80)
labelZCPwd.place(x=70, y=60, width=80, height=20)
# 创建密码文本框
entryZCPwd = tkinter.Entry(zhuc, show='*', width=80, textvariable=varPwd)
entryZCPwd.place(x=140, y=60, width=80, height=20)
def regist():
cu = cx.cursor()
name = entryZCName.get()
pwd = entryZCPwd.get()
cu.execute("select * from user where NAME =%s" % (name))
row = cu.fetchone()
if row: # 寻找用户
tkinter.messagebox.showinfo(title='Python tkinter', message='用户名已存在')
else:
sql = "insert into USER(NAME, PWD)"
sql += " values(%s, %s) " % (name,pwd)
cu.execute(sql)
cx.commit()
tkinter.messagebox.showinfo(title='Python tkinter', message='注册成功')
zhuc.destroy()
buttonOk = tkinter.Button(zhuc, text='返回', command=zhuc.destroy)
buttonOk.place(x=90, y=100, width=50, height=30)
buttonCancel = tkinter.Button(zhuc, text='注册', command=regist)
buttonCancel.place(x=150, y=100, width=50, height=30)
win.mainloop() # 启动消息循环
#创建按钮组件,同时设置按钮事件处理函数
buttonOk = tkinter.Button(win, text='登录', command=login)
buttonOk.place(x=90, y=100, width=50, height=30)
buttonCancel = tkinter.Button(win, text='注册', command=registwindow)
buttonCancel.place(x=150, y=100, width=50, height=30)
win.mainloop() #启动消息循环
#主界面
import tkinter
import tkinter.messagebox
import matplotlib.pyplot as plt
import numpy as np
from tkinter.ttk import Treeview,Style
from tkinter.messagebox import showinfo,show