

点击上方蓝字关注公众号


今天我们来看下如何实现登陆界面功能:
我们使用tkinter,sqlite3库来实现GUI登陆界面,sqlite3来存储账户密码数据。
使用到的库:
from tkinter import *import sqlite3import tkinter.messagebox as messagebox
先用tkinter构建登录界面:
def __init__(self, master):#创建并连接数据库conn = sqlite3.connect('login.db')c =conn.cursor()try:c.execute("create table loginuser (username varchar(30) NOT NULL PRIMARY KEY ,password varchar(16) NOT NULL ,email varchar NOT NULL ,loginerror int)")except Exception as e:print("已经创建数据库")self.root = masterself.root.geometry('400x200+600+400')self.root.title('恋爱笔记V1.5')self.conn = sqlite3.connect('login.db')self.username = StringVar()self.password = StringVar()self.page = Frame(self.root)self.creatapage()
接下来看下createage函数
def creatapage(self):"""界面布局"""Label(self.page).grid(row=0)Label(self.page, text='用户名:').grid(row=1, stick=W, pady=10)Entry(self.page, textvariable=self.username).grid(row=1, column=1, stick=E)Label(self.page, text='密码:').grid(row=2, stick=W, pady=10)Entry(self.page, textvariable=self.password, show='*').grid(row=2, stick=E, column=1)Button(self.page, text='登录', command=self.login,bg="#0081FF").grid(row=3, stick=W, pady=10)self.page.pack()
实现登录功能login函数:
def login(self):"""登录功能"""curs = self.conn.cursor()query = "select username, password from loginuser where username='%s'" % self.username.get()curs.execute(query) # 返回一个迭代器c = curs.fetchall() # 接收全部信息if len(c) == 0:messagebox.showerror('登录失败', '账户不存在')else:us, pw,= c[0]if us == self.username.get() and pw == self.password.get():self.conn.close()messagebox.showinfo('登录成功', '欢迎:%s' % us)self.root.destroy()else:messagebox.showwarning('登录失败', '密码错误')
以上函数都放在一个class LoginPage上,最后我们调用这个类:
if __name__ == '__main__':root=Tk()LoginPage(root)root.mainloop()
以上代码没有预先设置个账户,所以会报账户不存在,结果如下图所示:

为了演示效果,直接用数据库管理工具登录sqlit3数据库插入admin账户,我们再看下效果:


登录界面到这里就做好了,大家学废了吗?

扫描二维码更精彩



点个在看你最好看
文章转载自ICTworker,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




