Python3.7+tkinter實(shí)現(xiàn)查詢界面功能
Tkinter 是 Python 的標(biāo)準(zhǔn) GUI 庫(kù)。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。
這篇文章使用tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的查詢界面
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from tkinter import *
import sqlite3
# 導(dǎo)入消息對(duì)話框子模塊
import tkinter.messagebox
#import urllib
#創(chuàng)建主窗口
root = Tk()
root.title('球員查詢')
# 設(shè)置窗口大小
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) #國(guó)籍
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) #出場(chǎng)數(shù)
le_birthday = Label(root, textvariable = birthday).place(x = 100, y = 320) #生日
le_habit = Label(root, textvariable = habit).place(x = 100, y = 350) #慣用腳
#查詢按鈕響應(yīng)函數(shù)
def select(root, label):
sname = label.get()
print('input: ',sname)
#查詢剛才插入的數(shù)據(jù)
#由于剛才已經(jīng)關(guān)閉了數(shù)據(jù)庫(kù)連接,需要重新創(chuàng)建Connection對(duì)象和Cursor對(duì)象
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+'球員不存在,請(qǐng)輸入其他球員姓名!')
else:
print('result_name: ', list_re[0][0])
#數(shù)據(jù)成功提取出來了
#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]) #國(guó)籍
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]) #出場(chǎng)數(shù)
birthday.set(list_re[0][8]) #生日
habit.set(list_re[0][9]) #慣用腳
conn.close()
#定義一個(gè)返回按鈕調(diào)用的返回函數(shù):callback
def exit_program():
quit()
def main():
input_name = Label(root, text = '請(qǐng)輸入球員姓名:').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項(xiàng),可以指定點(diǎn)擊button時(shí)調(diào)用的callback函數(shù)
#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 = '國(guó) 籍:').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 = '號(hào) 碼:').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()

總結(jié)
以上所述是小編給大家介紹的Python3.7+tkinter實(shí)現(xiàn)查詢界面功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python tkinter和exe打包的方法
- Python tkinter模版代碼實(shí)例
- Python使用Tkinter實(shí)現(xiàn)滾動(dòng)抽獎(jiǎng)器效果
- Python使用Tkinter實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)器的步驟詳解
- Python tkinter三種布局實(shí)例詳解
- Windows下python3安裝tkinter的問題及解決方法
- python3 tkinter實(shí)現(xiàn)添加圖片和文本
- Python Tkinter模塊 GUI 可視化實(shí)例
- Python TKinter如何自動(dòng)關(guān)閉主窗口
相關(guān)文章
詳解pandas如何去掉、過濾數(shù)據(jù)集中的某些值或者某些行?
這篇文章主要介紹了pandas如何去掉、過濾數(shù)據(jù)集中的某些值或者某些行?,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實(shí)例
下面小編就為大家分享一篇python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞
這篇文章主要介紹了python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞,同時(shí)也分析出了歌曲的下載地址,需要的朋友可以參考下2014-07-07
用Python中的__slots__緩存資源以節(jié)省內(nèi)存開銷的方法
這篇文章主要介紹了用Python中的__slots__通過緩存資源的方式以節(jié)省內(nèi)存開銷的方法,且示例代碼非常簡(jiǎn)單,需要的朋友可以參考下2015-04-04
使用python快速實(shí)現(xiàn)不同機(jī)器間文件夾共享方式
今天小編就為大家分享一篇使用python快速實(shí)現(xiàn)不同機(jī)器間文件夾共享方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12

