如何在PyGObject中获取按钮文本?

时间:2017-10-15 21:56:02

标签: python gtk3 pygobject

如何在GTK中打印按钮文字?

import gi
gi.require_version('Gtk','3.0')
from gi.repository import Gtk

class MainWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)
        self.button = Gtk.Button("Hello")
        self.button.connect('pressed',self.print_button_name)
        self.add(self.button)

    def print_button_name(self,widget):
        print(MainWindow.button.name)  # I want to print button text here

win = MainWindow()
win.show_all()
win.connect('delete-event',Gtk.main_quit)
Gtk.main()

我正在使用python3和PyGObject,我想打印按钮文本。在这种情况下,按钮文本为“Hello”。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您正在使用MainWindow类而不是实例属性。

将回调方法更改为:

def print_button_name(self,widget):
    print(self.button.get_label())  # This will print correctly