python - 查找在循环中创建的按钮 ID
问题描述
我以图像的形式创建了一个按钮网格。它目前是一个 5x5 网格。我要存储按钮的 id,以便我可以跟踪用户选择了哪些按钮,以便我可以突出显示它们的背景以显示它们被选中,或者保持它们处于活动状态,直到用户再次单击它们。
打印出buttonID列表给了我<class 'tkinter.Button'>
displayedList = images
buttonID = []
#create the grid here using rows and columns
nrows = 5
ncols = 5
displayedList = images
for r in range(nrows):
for c in range(ncols):
randomNumber = random.randint(0, len(displayedList)- 1)
tk.Button(padx=50, pady=50, image=displayedList[randomNumber]).grid(row = r, column=c)
buttonID.append(Button)
displayedList.remove(displayedList[randomNumber])
displayedList = images ```
解决方案
您需要保存新按钮的按钮对象。
尝试这个:
btn = tk.Button(padx=50, pady=50, image=displayedList[randomNumber])
btn.grid(row = r, column=c)
buttonID.append(btn)
您应该存储按钮对象而不仅仅是 ID,以便以后更容易引用它们。
推荐阅读
- javascript - 重新加载时在 HTML 输入中显示随机文本
- go - 转义 json 对象以创建 kafka 轴突有效负载
- javascript - 从谷歌地图 v3 中删除 tabindex
- java - Oracle DB 等关系数据库的搜索引擎实现
- java - 我无法重定向到 Android Studio 中的先前活动
- android - 如何在点击监听器上设置 svg 的路径?
- angular - 即使 withCredentials 为真,Angular 也不会发送在 Set-Cookie 中收到的 Cookie
- r - R 3.5 不适用于 Linux
- php - Codeigniter 3 更新后图像功能失败
- c - 内存泄漏 char* C 程序