我用列表的形式生成了一组按钮(tkinter中的),并绑定了一个改变按钮颜色的事件,预期是当我点击一个按钮时,这个按钮会变色。但是每次我点击一个按钮时都只有最后一个按钮变色,相应按钮不会变色。想知道如何做到点击一个按钮改变这个按钮本身的颜色。
2条回答 默认 最新
关注 问题主要在于如何向command指向的函数传参,因为Button(command=)无法传递函数的参数。
我的做法是这样的:- 创建一个子类,继承tk.Button
- 在子类里,创建一个类方法
- 为Button对象赋值类方法
代码如下:
class Newbutton(tk.Button): def change_color(self): self.configure(bg='red') btn = [] for i in range(10): btn.append(Newbutton(window,text=i,bg='green',width=2, height=2)) btn[i].configure(command=btn[i].change_color) btn[i].pack()
如果有更好的办法可以一起讨论,互相学习
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 服务端控制goose报文控制块的发布问题
- ¥15 学习指导与未来导向啊
- ¥15 求多普勒频移瞬时表达式
- ¥15 如果要做一个老年人平板有哪些需求
- ¥15 k8s生产配置推荐配置及部署方案
- ¥15 matlab提取运动物体的坐标
- ¥15 人大金仓下载,有人知道怎么解决吗
- ¥15 一个小问题,本人刚入门,哪位可以help
- ¥30 python安卓开发
- ¥15 使用R语言GD包一直不出结果