溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python3.7中使用tkinter實現(xiàn)查詢界面功能

發(fā)布時間:2021-05-22 17:45:31 來源:億速云 閱讀:348 作者:Leah 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關怎么在Python3.7中使用tkinter實現(xiàn)查詢界面功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應用程序。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from tkinter import *
import sqlite3
# 導入消息對話框子模塊
import tkinter.messagebox
#import urllib
 #創(chuàng)建主窗口
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)  #出場數(shù)
le_birthday = Label(root, textvariable = birthday).place(x = 100, y = 320)  #生日
le_habit = Label(root, textvariable = habit).place(x = 100, y = 350)  #慣用腳
#查詢按鈕響應函數(shù)
def select(root, label):
 sname = label.get()
 print('input: ',sname)
 #查詢剛才插入的數(shù)據(jù)
 #由于剛才已經(jīng)關閉了數(shù)據(jù)庫連接,需要重新創(chuàng)建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])
 #數(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])  #國籍
 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])  #出場數(shù)
 birthday.set(list_re[0][8])  #生日
 habit.set(list_re[0][9])  #慣用腳
 conn.close()
#定義一個返回按鈕調(diào)用的返回函數(shù):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時調(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 = '國 籍:').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()

Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

關于怎么在Python3.7中使用tkinter實現(xiàn)查詢界面功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI