buaa-soft-summer / soft-summer-2022

软件学院《程序设计实践》2022小学期仓库
26 stars 3 forks source link

tkinter用循环创建button #30

Closed Sillage-Shaw closed 2 years ago

Sillage-Shaw commented 2 years ago

助教你好,我在使用tkinter里的button创建按钮的时候遇到了点问题

page_num = (num//30) + 1
    for page in range(page_num):
        page_button = tk.Button(table_window,text=f"{page+1}",
                                bg = 'skyblue',font=ft,
                                width=3, height=1,
                                command=lambda :InsertData(level_2,f'{page+1}'))
        page_button.pack(side=LEFT)

我的目的是创建一个切换页码的按钮,这段程序里的page_name是总的页码数,匿名函数lambda指向的函数InsertData是用来刷新页面的时候填充数据的,有两个参数level_2和page,但是表示页码的参数page无法传进去,只能传入循环终止时的page,调用lambda的时候所有的按钮都指向最后一页,是因为在批量创建按钮的时候里面的command参数不能批量设置吗,麻烦助教帮我解答一下,最好能有解决的办法,谢谢

Yuan-Hou commented 2 years ago

可以把字符串参数表达式换成str(page+1)试一试?