Python中文
首页
教程
问答
标签
搜索
登录
注册
如何获取Tkinter中多个复选按钮的状态?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在编写一个小的Tkinter/Python程序,它有一个长度可变的复选框列表(在运行时确定)。</p> <p>我希望能够随时读取所有复选框的状态,但我不确定该如何进行。</p> <p>下面是用于生成列表的代码片段(采用自<a href="https://stackoverflow.com/questions/5860675/variable-size-list-of-checkboxes-in-standard-tkinter-package">this post</a>):</p> <pre><code>def relist(self): self.text.delete(1.0,END) p = subprocess.Popen (['ls', '/dev/'], stdout = subprocess.PIPE) lst = p.communicate()[0].split('\n') print lst for item in lst: v = tk.IntVar() cb = tk.Checkbutton(text="/dev/%s" % item, variable=v, command=self.cb(index)) self.text.window_create("end", window=cb) self.text.insert("end", "\n") # to force one checkbox per line </code></pre> <p>还有我的假管理员:</p> <pre><code>def cb(self,idx): print ("var is %s", str(idx)) lst[idx] = 1; </code></pre> <p>问题是我的处理程序只被调用一次(在创建checkbutton时),而我希望每次单击(选中或未选中)一个<code>Checkbutton</code>时都调用它,并且在调用它时,我希望它更新lst。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我也有同样的问题。试试这个:</p> <pre><code>cb = tk.Checkbutton(text="/dev/%s" % item, variable=v, command=lambda: self.cb(index)) </code></pre> <p>如果将方法作为lambda函数传递,则它会对变量的每次更改执行该方法。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
6 回答
如何在python中从数据帧列表中删除引号
1 回答
如何在python中从数据帧创建列表
10 回答
如何在Python中从数据帧创建嵌套的JSON
4 回答
如何在Python中从数据帧显示wordcloud
7 回答
如何在Python中从数据帧的时间戳中删除字符
3 回答
如何在Python中从数据帧绘制简单绘图?
4 回答
如何在python中从数据帧行提取具有特定长度的范围?
4 回答
如何在python中从数据帧设置dict中的值
2 回答
如何在Python中从数据库中获得一个结果
6 回答
如何在python中从数据框中绘制分类条形图
6 回答
如何在Python中从数据框中选择特定细节?
5 回答
如何在python中从数据集中删除unicode
2 回答
如何在python中从数据集中删除某些数值?
2 回答
如何在python中从数据集中选择行
9 回答
如何在Python中从数组中删除元素
4 回答
如何在python中从数组中删除单个倒逗号?
4 回答
如何在python中从数组中删除对象?
2 回答
如何在python中从数组中删除引号
4 回答
如何在python中从数组中删除所有最小值
5 回答