########################################
#author :runfas
#description:利用Tkinter建立一个登录数据库的窗口
#time : 2018-2-8
#weichat :srf80556635(15992667848)
########################################
5.建立按钮,这里解释下,按钮按下去,会调用command = inser_get 函数,所以接下来 我们要写按钮回调函数
#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 :会出现登录失败,请重新登录窗口