tkinter treeview 分页显示数据库
p_l=tk.Label(root,text="共%s页"%(page))treeview.heading("name",text="客户姓名")treeview.heading("dw",text="计量单位")treeview.heading("n2",text="物品名")以下是我奉献出来的代码,不用 lambda 的。
以下是我奉献出来的代码,不用 lambda 的
正文部分:
import tkinter as tk
from tkinter import ttk
import sqlite3
import math
conn=sqlite3.connect('3dm.db')
cur=conn.cursor()
sql="select id,vname,gname,dw from z"
cur.execute(sql)
res=cur.fetchall()
data=res
page=math.ceil(len(data)/10)
root=tk.Tk()
treeview=ttk.Treeview(root,columns=("id","name","n2","dw"),show='headings')
treeview.heading("id",text="ID")
treeview.heading("name",text="客户姓名")
treeview.heading("n2",text="物品名")
treeview.heading("dw",text="计量单位")
treeview.pack()
sql="select id,vname,gname,dw from z limit 10"
cur.execute(sql)
res=cur.fetchall()
for i in res:
treeview.insert('',tk.END,values=i)
cpg=page
def lk_p():
conn=sqlite3.connect('3dm.db')
cur=conn.cursor()
n_b['state']='normal'
if t_e['text']>1:
t_e['text']-=1
sql="select id,vname,gname,dw from z limit 10 offset %s"%((t_e['text']-1)*10)
cur.execute(sql)
res=cur.fetchall()
if t_e['text']==1:
p_b['state']='disable'
treeview.delete(*treeview.get_children())
for i in res:
treeview.insert('',tk.END,values=i)
cur.close()
conn.close()
p_b=tk.Button(root,text="<<",command=lk_p)
p_b.pack(side="left")
p_b['state']='disable'
t_e=tk.Label(root)
t_e.pack(side='left')
def lk_n():
conn=sqlite3.connect('3dm.db')
cur=conn.cursor()
p_b['state']='normal'
if t_e['text']<(page+1):
t_e['text']+=1
sql="select id,vname,gname,dw from z limit 10 offset %s"%((t_e['text']-1)*10)
cur.execute(sql)
res=cur.fetchall()
if t_e['text']==page+1:
n_b['state']='disable'
treeview.delete(*treeview.get_children())
for i in res:
treeview.insert('',tk.END,values=i)
cur.close()
conn.close()
n_b=tk.Button(root,text=">>",command=lk_n)
n_b.pack(side="left")
p_l=tk.Label(root,text="共%s页"%(page))
p_l.pack(side="left")
t_e['text']=1
cur.close()
conn.close()
root.mainloop()
运行效果,如下图:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)