python 通过GUI:Tkinter编程建立一个登录数据库的案例

########################################
#author       :runfas 
#description:利用Tkinter建立一个登录数据库的窗口
#time           : 2018-2-8 
#weichat     :srf80556635(15992667848)
 
########################################

文章未经允许禁止转载

python 的潮流不断掀起,库的支持也不段增大、我也是小白一个,自从开始用到python以后 ,真的是爱不释手,基本都在python解决工作上的事情,在这里我推荐一款GUI编程库:TKinter,以下是我通过这个库建立的一个登录数据库的界面。

话不多说,先上图片:



一、工具/原料

 1.已经安装好了python环境

2.已经安装了mysql数据库

3.Tkinter库 (默认安装完python后会自带的)

备注:本文使用的是python3 .x.x

二、 方法和步骤

1.增加必要的头文件

import pymysql
from tkinter import *



 

2.实例化一个父窗口

init_window=Tk()        #实例化出一个父窗口
 ##设置窗口属性
 init_window.title("数据库的连接  by runfas")
 init_window.geometry('700x400+10+10')  



 

3.创建画布

# welcome image
 canvas = Canvas(init_window, height=150, width=430)#创建画布
 canvas.pack(side=TOP)#放置画布(为上端)
 image_file = PhotoImage(file='F:\data\welcome.gif')#加载图片文件
 image = canvas.create_image(0,0, anchor='nw', image=image_file)#将图片置于画布上
	




4.建立输入窗口,包括账户,密码,数据库地址

#建立输入框
#mysql 地址
labe_iddr = Label(init_window, text="mysql地址")
labe_iddr.pack()  
text_iddr_default = StringVar()
text_iddr = Entry(init_window, textvariable = text_iddr_default)
text_iddr_default.set("localhost")
text_iddr.pack()
#账户
labe_user = Label(init_window, text="账户")
labe_user.pack()  
text_user_default = StringVar()
text_user = Entry(init_window, textvariable = text_user_default)
text_user_default.set("root")
text_user.pack()
#密码
labe_pwd = Label(init_window, text="密码")
labe_pwd.pack()  
text_pwd_default = StringVar()
text_pwd = Entry(init_window, textvariable = text_pwd_default)
text_pwd_default.set("root")
text_pwd.pack()

5.建立按钮,这里解释下,按钮按下去,会调用command = inser_get 函数,所以接下来 我们要写按钮回调函数


#建立按钮
##通过command属性来指定Button的回调函数
button_sure = Button(init_window,text="确定",width=15,height=2,command=inset_get)
 button_sure.pack()
init_window.mainloop()
6.按钮回调函数,拷贝输入框的字符串,然后将字符串用于连接数据库

def inset_get():
mysql_host = text_iddr.get()
mysql_user = text_user.get()
mysql_pwd  = text_pwd.get()
print(mysql_host,mysql_user,mysql_pwd)
try :
#连接数据库
global db_login
db_login=pymysql.connect(host="%s"%mysql_host,user="%s"%mysql_user,passwd="%s"%mysql_pwd,db="jailsystem",charset="utf8")
init_window.destroy()
main()
except:
print("ERROR:mysql not connect")
messagebox.showinfo(title='login faild', message='登录失败,请重新登录 ')


 数据库连接需要用到pymysql.connect(),后面参数分别是主机地址,账户,密码,数据库,编码格式

init_window.destroy() 是销毁登录窗口

异常的时候except :会出现登录失败,请重新登录窗口






猜你喜欢

转载自blog.csdn.net/m0_37863832/article/details/79286996