Python3.7+tkinter实现查询界面功能
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
这篇文章使用tkinter实现一个简单的查询界面
#!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * import sqlite3 # 导入消息对话框子模块 import tkinter.messagebox #import urllib #创建主窗口 root = Tk() root.title('球员查询') # 设置窗口大小 root.minsize(500,500) #定义变量 name = StringVar() name.set('') club = StringVar() club.set('') nation = StringVar() nation.set('') height = StringVar() height.set('') position = StringVar() position.set('') age = StringVar() age.set('') weight = StringVar() weight.set('') num = StringVar() num.set('') birthday = StringVar() birthday.set('') habit = StringVar() habit.set('') #name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text le_name = Label(root, textvariable = name).place(x = 100, y = 80) #姓 名 le_club = Label(root, textvariable = club).place(x = 100, y = 110) #俱乐部 le_nation = Label(root, textvariable = nation).place(x = 100, y = 140) #国籍 le_height = Label(root, textvariable = height).place(x = 100, y = 170) #身高 le_position = Label(root, textvariable = position).place(x = 100, y = 200) #位置 le_age = Label(root, textvariable = age).place(x = 100, y = 230) #年龄 le_weight = Label(root, textvariable = weight).place(x = 100, y = 260) #体重 le_num = Label(root, textvariable = num).place(x = 100, y = 290) #出场数 le_birthday = Label(root, textvariable = birthday).place(x = 100, y = 320) #生日 le_habit = Label(root, textvariable = habit).place(x = 100, y = 350) #惯用脚 #查询按钮响应函数 def select(root, label): sname = label.get() print('input: ',sname) #查询刚才插入的数据 #由于刚才已经关闭了数据库连接,需要重新创建Connection对象和Cursor对象 conn = sqlite3.connect('dongqiudi.db') #c = conn.execute('''select * from footballers''') #c = conn.execute("select * from footballers where name like?",(sname,)) print("select * from footballers where name like '%"+sname+"%'") c = conn.execute("select * from footballers where name like '%"+sname+"%'") #print(c) #<sqlite3.Cursor object at 0x00000000007E25E0> list_re = list(c) print('result: ', list_re) #[('艾克森', '15', 'ChOxM1xC0BiAe2D7AAAN-qiRteQ443.png')] if len(list_re) <= 0: tkinter.messagebox.showinfo('提示',sname+'球员不存在,请输入其他球员姓名!') else: print('result_name: ', list_re[0][0]) #数据成功提取出来了 #name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text name.set(list_re[0][0]) #姓 名 club.set(list_re[0][1]) #俱乐部 nation.set(list_re[0][2]) #国籍 height.set(list_re[0][3]) #身高 position.set(list_re[0][4]) #位置 age.set(list_re[0][5]) #年龄 weight.set(list_re[0][6]) #体重 num.set(list_re[0][7]) #出场数 birthday.set(list_re[0][8]) #生日 habit.set(list_re[0][9]) #惯用脚 conn.close() #定义一个返回按钮调用的返回函数:callback def exit_program(): quit() def main(): input_name = Label(root, text = '请输入球员姓名:').place(x = 30, y = 30) label = StringVar() entry = Entry(root,bg='#ffffff',width=20,textvariable=label).place(x=130,y=30,anchor='nw') #按钮 select_button = Button(root,bg='white',text='查询',width=10,height=1, command=lambda :select(root, label)).place(x=280,y=26,anchor='nw') exit_button = Button(root,bg='white',text='退出',width=10,height=1, command=lambda :exit_program()).place(x=380,y=26,anchor='nw') #command是Button中的option项,可以指定点击button时调用的callback函数 #name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text le_name = Label(root, text = '姓 名:').place(x = 40, y = 80) le_club = Label(root, text = '俱乐部:').place(x = 40, y = 110) le_naion = Label(root, text = '国 籍:').place(x = 40, y = 140) le_height = Label(root, text = '身 高:').place(x = 40, y = 170) le_positon = Label(root, text = '位 置:').place(x = 40, y = 200) le_age = Label(root, text = '年 龄:').place(x = 40, y = 230) le_weight = Label(root, text = '体 重:').place(x = 40, y = 260) le_num = Label(root, text = '号 码:').place(x = 40, y = 290) le_birthday = Label(root, text = '生 日:').place(x = 40, y = 320) le_habit = Label(root, text = '惯用脚:').place(x = 40, y = 350) #显示图片 #pilImage = Image.open("imgs/1574777943.3190248.png") #tkImage = ImageTk.PhotoImage(image=pilImage) #label_nation = Label(root, image=tkImage).place(x=90, y=130, anchor='nw') root.mainloop() main()
总结
以上所述是小编给大家介绍的Python3.7+tkinter实现查询界面功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!