Python Tkinter 快速显示Table 中的数据

Python Tkinter 快速显示Table 中的数据

Author: Xiaohong
运行环境: OS: Win7 64位 专业版Pack1、Python: 3.7

功能: 把sqlite 3 DB 中 em_stock table 数据显示

缺点:以Label 方式显示数据,交互性差

main.py 脚本如下:

# em_stock 数据来源 见 Python Tkinter 练习1--抓取特定网页资料 中

from tkinter import *
# 导入访问Sqlite的模块
import sqlite3

def query_db():
    # 1 连接sqlite3 数据库
    database = sqlite3.connect("mrsoft.db")
    cursor = database.cursor()

    # 2 调用执行select语句查询数据
    sql = "select * from em_stock "
    cursor.execute(sql)

    #  3 通过游标的description属性获取列信息
    description = cursor.description

    #  4 使用fetchall获取游标中的所有结果集
    rows = cursor.fetchall()
    #  5 关闭游标
    cursor.close()
    #  6 关闭连接
    database.close()
    return description, rows

def main():
    description, rows = query_db()
    # 创建窗口
    win = Tk()
    win.title('数据查询')
    # 通过description获取列信息
    for i, col in enumerate(description):
        lb = Button(win, text=col[0], padx=15, pady=6)
        lb.grid(row=0, column=i)
    # 直接使用for循环查询得到的结果集
    for i, row in enumerate(rows):
        for j in range(len(row)):
            en = Label(win, text=row[j])
            en.grid(row=i+1, column=j)
    win.mainloop()
if __name__ == '__main__':
    main()

 

你可能感兴趣的:(Python)