我正在学习Gtk。我想建立一个计算器,我想在文本框中显示按下的数字。我已经完成了它,通过调用单击的不同按钮的不同功能,并在文本框中附加值,按下按钮的值。使用python 2.7.3
有没有办法获得按下的按钮的标签值,以便我可以使用单个功能而不是0到9的10个功能?
提前致谢
答案 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对象一样。