作者check ()
看板Python
标题[问题] tkinter button 及stringVar
时间Sun Jul 31 17:27:08 2022
小的想使用tkinter 做一个简单的USB command GUI
在使用ttk.Button 以及stringVar()遇到两个问题
问题一:
我用for 回圈建立15个ttk.Entry
其中用List存放tk.StringVar(),代码如下:
------------
address_list = ['list of address']
for number in range(1, 16):
address_list.append(tk.StringVar())
ttk.Entry(bottom_frame,
textvariable=address_list[number]).grid()
------------
我接下来想透过.set() 或.get()方法去操纵其中一个元素该怎麽做呢?
已试过
var5 = address_list[5]
var5.set('new value')
或是直接 address_list[5].set('new value') 都无法,是否不应该用List存放?
问题二:
我用for 回圈建立15个ttk.Button
然後每个button command都呼叫同一个函式处理,
我要如何得知是哪个按钮呼叫这个函式?
------------
for number in range(1, 16):
ttk.Button(bottom_frame, text='Read', command=read_one).grid()
代码全文如下:
https://pastebin.com/fWyyNVw7
谢谢大神不吝赐教 感恩感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 150.117.223.194 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1659259651.A.1E9.html
1F:推 lycantrope: 1.放list应该不影响StringVar运作 08/01 10:45
2F:→ lycantrope: 2.用function wrapper,就可以达成 08/01 10:48
3F:→ check: 谢谢1.再试一次又OK了,应该是鬼遮眼@@ 2.可否明示一下? 08/01 12:39
4F:→ check: 尝试用lambda包parameter(number)进去,但number evaluate 08/01 12:40
5F:→ check: 值都是15,行不通 08/01 12:41
6F:推 lycantrope: lambda包要写成, lambda btn_num= i: func(btn_num) 08/01 13:20
8F:→ check: 谢谢 请受小弟一拜 m(_ _)m 08/01 15:43