0

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

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

提前致谢

4

2 回答 2

2

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

于 2013-04-01T15:43:06.270 回答
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)

GtkWidgetPython 中的实例是 Python 对象,因此其行为类似于任何其他 Python 对象。

于 2013-04-02T19:12:31.287 回答