python tkinter與Mysql數(shù)據(jù)庫(kù)交互實(shí)現(xiàn)賬號(hào)登陸
本例已經(jīng)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)password,數(shù)據(jù)庫(kù)的表以及表結(jié)構(gòu)如下:

表中已經(jīng)插入的信息:

實(shí)現(xiàn)思路無(wú)非是用戶完成賬戶密碼輸入并點(diǎn)擊登錄按鈕后,程序先進(jìn)行數(shù)據(jù)庫(kù)連接,然后根據(jù)用戶提供的參數(shù),
發(fā)出相應(yīng)的查詢語(yǔ)句,根據(jù)返回的查詢結(jié)果給出相應(yīng)的響應(yīng)。
代碼實(shí)現(xiàn)
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 6 14:29:54 2018
Description:實(shí)現(xiàn)tkinter的密碼驗(yàn)證
1.與數(shù)據(jù)庫(kù)驗(yàn)證
Version:
@author: HJY
"""
import tkinter as tk
from tkinter import messagebox
import sys
import pymysql
class loginf():
def __init__(self,master):
self.master = master
self.face = tk.Frame(self.master,)
self.face.pack()
tk.Label(self.face,text='賬戶').pack()
self.t_account = tk.Entry(self.face,)
self.t_account.pack()
tk.Label(self.face,text='密碼').pack()
self.t_password = tk.Entry(self.face,)
self.t_password.pack()
btn_login = tk.Button(self.face,text='login',command=self.login)
btn_login.pack()
def login(self,):
account = self.t_account.get()
password = self.t_password.get()
#判空操作:略
print(account,password)
#數(shù)據(jù)庫(kù)處理
connection = pymysql.connect(host='localhost',user='root',port=3306)
try:
with connection.cursor() as cursor:
command1 = "use password;"
command2 = "select password from passbook where account = (%s);"
cursor.execute(command1)
result = cursor.execute(command2,(account))
connection.close()
except:
sys.exit()
else:
if result == 0:
print('no this account!')
tk.messagebox.showerror('Info',"Account Not Exist!")
else:
print('查找結(jié)果:',result)
if cursor.fetchone()[0] == password:
print('Login successfully!')
tk.messagebox.showinfo('Info',"Login successfully!")
#銷毀登陸界面,生成登陸后界面
self.face.destroy()
homef(self.master)
else:
print('password input error')
tk.messagebox.showerror('Info',"Password Error!")
class homef():
def __init__(self,master):
self.master = master
self.face = tk.Frame(self.master,)
self.face.pack()
btn_showinfo = tk.Button(self.face,text='info',command=self.showinfo)
btn_showinfo.pack()
def showinfo(self,):
pass
if __name__ == '__main__':
root = tk.Tk()
root.title('Login with password')
root.geometry('200x200')
loginf(root)
root.mainloop()
效果示例:


相關(guān)文章
Python 模擬動(dòng)態(tài)產(chǎn)生字母驗(yàn)證碼圖片功能
這篇文章主要介紹了Python 模擬動(dòng)態(tài)產(chǎn)生字母驗(yàn)證碼圖片,這里給大家介紹了pillow模塊的使用,需要的朋友可以參考下2019-12-12
Python 使用PIL.Image制作運(yùn)動(dòng)小人的動(dòng)態(tài)圖思路詳解
這篇文章主要介紹了Python 使用PIL.Image制作一個(gè)運(yùn)動(dòng)小人的動(dòng)態(tài)圖,制作過(guò)程也很簡(jiǎn)單,只需要把圖片拆分成12等分,每幀大小:67x165;連續(xù)讀取和播放就會(huì)形成動(dòng)態(tài)圖像,需要的朋友可以參考下2021-10-10
Python實(shí)現(xiàn)遍歷大量表格文件并篩選出數(shù)據(jù)缺失率低的文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)遍歷大量表格文件并篩選出表格內(nèi)數(shù)據(jù)缺失率低的文件的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05
django drf框架中的user驗(yàn)證以及JWT拓展的介紹
這篇文章主要介紹了django drf框架中的user驗(yàn)證以及JWT拓展的介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
python3.6環(huán)境安裝+pip環(huán)境配置教程圖文詳解
這篇文章主要介紹了python3.6環(huán)境安裝+pip環(huán)境配置教程圖文詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
Python?+?Selenium?實(shí)現(xiàn)模擬登錄jd實(shí)例分享
這篇文章主要介紹了Python?+?Selenium?實(shí)現(xiàn)模擬登錄jd實(shí)例分享的相關(guān)資料,需要的朋友可以參考下2023-06-06
Python實(shí)現(xiàn)FTP弱口令掃描器的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)FTP弱口令掃描器的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python Numpy 自然數(shù)填充數(shù)組的實(shí)現(xiàn)
今天小編就為大家分享一篇Python Numpy 自然數(shù)填充數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

