正在学习 Gtk。我想构建一个计算器,我想在文本框中显示按下的数字。我已经完成了它,通过为单击的不同按钮调用不同的函数,并在文本框中附加按下按钮的值的值。使用 python 2.7.3
有没有办法获得按下按钮的标签值,以便我可以使用单个函数而不是从 0 到 9 的 10 个函数?
提前致谢
正在学习 Gtk。我想构建一个计算器,我想在文本框中显示按下的数字。我已经完成了它,通过为单击的不同按钮调用不同的函数,并在文本框中附加按下按钮的值的值。使用 python 2.7.3
有没有办法获得按下按钮的标签值,以便我可以使用单个函数而不是从 0 到 9 的 10 个函数?
提前致谢
按钮回调包括小部件本身,您也可以传递数据。见这里。
您应该将按钮表示的值与按钮实例本身相关联,而不是读取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)
GtkWidget
Python 中的实例是 Python 对象,因此其行为类似于任何其他 Python 对象。