2013-04-01 66 views
0

正在学习Gtk。我想建立一个计算器,我想在文本框中显示按下的数字。我已经完成了它,通过为点击不同的按钮调用不同的函数,并将文本框中的值附加到按下按钮的值。使用python 2.7.3获取Gtk中按钮的标签值

有没有办法获得按钮的按钮的标签值,以便我可以使用一个函数而不是从0到9的10个函数?

在此先感谢

回答

2

按钮回调包括小部件本身,你也可以传递数据。见here.

1

,而不是阅读GtkButton的标签,这是非常容易出错,你应该通过该按钮代表到按钮实例本身的价值,如关联:

button = Gtk.Button(label='1') 
button._value = 1 
# add button to the container 
button.connect('clicked', on_button_clicked) 

button = Gtk.Button(label='2') 
button._value = 2 
# add button to the container 
button.connect('clicked', on_button_clicked) 

,然后阅读从信号处理程序内部的按钮实例,例如,值:在Python

def on_button_clicked(button): 
    print 'you pressed the button of value: %d' % (button._value) 

GtkWidget实例是Python对象,并且因此表现得像任何其他Python对象。