python Tkinter 脚本中 button的command所需的方法如何获得当前button的text
2个回答
展开全部
#你好,一个简单且完整的示例,分别使用面向过程和面向对象的方法进行描述:
#面向对象-----------------
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()
#---------------
如有疑问,请追问。
#面向对象-----------------
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上,所能容纳的控件并不多,用循环生成无名控件反而对造成对控件操作时带来诸多的麻烦。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-29
展开全部
放在同一个类里就行了,按钮的id名字
更多追问追答
追问
不是我想要的~我想要的是 我command连接的方法能直接读出是哪个button在调用~
追答
那样的话,不同的button用不同的回调函数不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询