python Tkinter 脚本中 button的command所需的方法如何获得当前button的text

 我来答
mr_wid
推荐于2016-04-25 · TA获得超过181个赞
知道答主
回答量:34
采纳率:0%
帮助的人:45万
展开全部
#你好,一个简单且完整的示例,分别使用面向过程和面向对象的方法进行描述:
#面向对象-----------------
import Tkinter

class MyFrame:
def __init__(self): 初始化窗口
frame = Tkinter.Tk()
self.btn = Tkinter.Button(frame, text = "Hello", command = self.sayHello)
self.btn.pack()
Tkinter.mainloop()

def sayHello(self):
print self.btn['text'] #获取按钮btn的text属性并输出
App = MyFrame()

#面向过程-------------------
import Tkinter

def sayHello():
print btn['text'] #获取按钮btn的text属性并输出

MyFrame = Tkinter.Tk()
btn = Tkinter.Button(MyFrame, text = "Hello", command = sayHello)
btn.pack()
MyFrame.mainloop()
#---------------
如有疑问,请追问。
追问
谢谢回答,问题是我不知道按钮的id名字,我把按钮动态存在一个数组中了,
追答
你好,可能由于本人水平有限,暂时没有找到解决问题的较为理想的方案,问题的关键就在于,如何得到数组的索引值,我的想法就是通过对在数组里面的按钮对象,通过事件响应,判断这个事件来自哪个按钮,并对这些事件建立索引;
还有就是,把控件用循环的方式放进数组里,这样做本身就违反了UI的设计原则,在一个Canvas上,所能容纳的控件并不多,用循环生成无名控件反而对造成对控件操作时带来诸多的麻烦。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
匿名用户
2012-08-29
展开全部
放在同一个类里就行了,按钮的id名字
更多追问追答
追问
不是我想要的~我想要的是 我command连接的方法能直接读出是哪个button在调用~
追答
那样的话,不同的button用不同的回调函数不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式