
gui界面
汽车政策-头发发型
2023年3月19日发(作者:桂枝麻黄各半汤)python做查询界⾯_python制作⼀个简单的gui数据库查询界⾯
⼀、准备⼯作:
1、安装mysql3.7,创建⼀个test数据库,创建student表,创建列:(列名看代码),创建⼏条数据
(以上⼯作直接⽤navicatformysql⼯具完成)
⼆、代码:
importsys
importtkinterastk
torassql
#--------------------查询函数---------------------------
defsql_connect():
listbox_(0,'end')#初始化清空显⽰区
m=listbox_ection()[0]
print('m=',m)
list_name=listbox_(m)[0]
varlue=entry_()
print('list_name=',list_name)
print('var=',varlue)
whilelist_name=='Student_ID':
sql_sr="select*t_id="+"'"+varlue+"'"
print(sql_sr)
break
whilelist_name=='Name':
sql_sr="select*="+"'"+varlue+"'"
print(sql_sr)
break
whilelist_name=='Age':
sql_sr="select*="+"'"+varlue+"'"
print(sql_sr)
break
whilelist_name=='Sex':
sql_sr="select*="+"'"+varlue+"'"
print(sql_sr)
break
whilelist_name=='Class':
sql_sr="select*="+"'"+varlue+"'"
print(sql_sr)
break
mydb=t(host='localhost',user='root',passwd='123456',database='test')
mycursor=()
e(sql_sr)
myresult=ll()
forxinmyresult:
print(x)
listbox_('end',x)
#--------------------------------------------------------
#------------界⾯初始化时加载选项列表--------------------
sql_n="SELECTCOLUMN_NAMEFROMinformation_S
WHERETABLE_SCHEMA='test'ANDTABLE_NAME='student'"
mydb=t(host='localhost',user='root',passwd='123456',database='test')
mycursor=()
e(sql_n)
myresult=ll()
#--------------------------------------------------------
#----------窗体部分--------------------------------------
entry_list_name=()
entry_list_()
listbox_name=x()
listbox_()
foriinmyresult:
listbox_('end',i)#加载选项列表
entry_varlue=()
entry_()
button_select=(text='查找',command=sql_connect)
button_()
listbox_show=x()
listbox_()
op()
#--------------------------------------------------------
三、界⾯
好吧,是挺丑的,因为没调格式,将就吧。
四、总结
1、⽬的:⾃⼰这个菜鸟新⼿天天看基础教程觉得很抽象,各种运算结果只能打印在IDE窗⼝,不是我想象中的程序(有界⾯,有交互,有。
。。总之很精彩),然后按教程的各种渐进学法感觉不太适合⾃⼰的风格,我喜欢有⼀个具体的东西,不断的添加功能,然后在添加的过程
中碰到问题再寻求解决办法,在解决的过程中学习新知识,嗯,就是只学能⽤到的,很功利。。。然后就开始折腾这个⼩界⾯。
2、⾸先要有GUI界⾯就要⽤到GUI模块,本着⽅便原则就⽤python⾃带的tkinter(不⽤再折腾安装),⼀开始我想⽤所见即所得的⽅式,找
到了⼀个可以拖放元件来⽣成界⾯的⼯具pagepython,这也是个基于tkinter的⼯具,后来发现⽣成的py⽂件对我这个菜鸟来说还是有点
深奥了,⽽且关于page的教程全⽹只有⼀两个(⽆语,估计⾼⼿都不屑吧),然后就转⽽直接研究tkinter
3、先做好窗体部分的实现代码。
设计:按动按钮查询固定表⾥某⼀字段的某个匹配值的结果,显⽰在界⾯中。
元件:输⼊元件2个(1个字段,1个值),结果显⽰元件1个,按钮1个。
字段输⼊值直接获取表头列出选择,找不到下拉菜单,只能⽤listbox来做,界⾯初始化时就将表头读出列在listbox⾥。
匹配值输⼊使⽤entry输⼊框。
显⽰结果也是使⽤listbox。
交互动作使⽤按钮。
OK,视觉界⾯做好了,下⾯添加功能。
4、(字段输⼊值直接获取表头列出选择,找不到下拉菜单,只能⽤listbox来做,界⾯初始化时就将表头读出列在listbox⾥。)
要和mysql交互获取,需要登录数据库并实现查询。
我使⽤tor模块来实现和mysql的通讯(python还有期它模块也能实现和mysql的通讯,当时为什么使⽤
tor呢,我也记不清了,好像从哪个教程直接弄来⽤的,反正就是⽤了)
5、接下来就是按钮动作的交互代码了,这是逻辑的重头戏。
逻辑:在列出的字段中选择⼀个要查询的字段,输⼊要匹配的值,点击按钮查询,将结果显⽰在显⽰区。
获取listbox的光标值,将它取出来,⽐对字段⽣成相应的sql查询语句,和mysql交互得到返回值集,逐条取出展⽰在显⽰区。
好了,⼤功告成,虽然看起来很丑,想让它变美⼥就要加滤镜咯(调tkinter格式)。
以上就是python制作⼀个简单的gui数据库查询界⾯的详细内容,更多关于pythongui数据库查询的资料请关注脚本之家其它相关⽂章!