获取Gtk中按钮的标签值

时间:2013-04-01 14:58:09

标签: python user-interface gtk

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

有没有办法获得按下的按钮的标签值,以便我可以使用单个功能而不是0到9的10个功能?

提前致谢

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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)

然后从信号处理程序内的按钮实例中读取值,例如:

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

GtkWidget个实例是Python对象,因此表现得像任何其他Python对象一样。