いくつかのウィジェットを備えた GTK ウィンドウがあります。そこにはたくさんのエキスパンダーがあり、それらはすべて同じactivate
シグナルハンドラーを持っています。このハンドラーで、ウィジェット オブジェクトの名前を取得したいと思います。
def exItem_activated (self, widget, data=None):
for i in range (0, 15):
self.builder.get_object ('exItem' + (str)(i + 1)).set_expanded (False)
widget.expanded = True
print widget.name
widget.name
ただし、機能しません。AttributeError: 'Expander' object has no attribute 'name'
.
基本的には、expander2 をクリックすると、「expander2」を文字列として取得したいと考えています。expander14 をクリックすると、「expander14」を文字列として取得したい。これを行う方法はありますか?
これが(簡単に)できない場合は、どのウィジェットがクリックされたかを知ることができる他のプロパティを取得できれば、それも受け入れられます。