资源经验分享Python3.7+tkinter实现查询界面

Python3.7+tkinter实现查询界面

2019-12-24 | |  113 |   0

原标题:Python3.7+tkinter实现查询界面

原文来自:CSDN      原文链接:https://blog.csdn.net/wangwenjing90/article/details/103654857


上一篇博客的爬虫数据存储在sqlite中,这里用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)   #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()

03.png

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:中文新闻情感分类 Bert-Pytorch-transformers

下一篇:python3.7使用tkinter和pickle写一个简单的注册登陆界面

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...