以下是我奉献出来的代码,不用 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()

运行效果,如下图:

20d4ff7f09db465ba10c239751e79337.png

935e5a32a889468aba5ec70edad03768.png 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐