CC7052
CC7052

Reputation: 577

Find type of GTK widgets

I'am working on GTK in python after creating a CheckButton or Button with:

x = Gtk.CheckButton()
y = Gtk.Button("Config")

I want to check type of x or y When use type() it returns

<class 'gi.repository.Gtk.CheckButton'>

or

<class 'gi.overrides.Gtk.Button'>

Is it possible to check It's type in another way ?

Upvotes: 0

Views: 291

Answers (1)

ebassi
ebassi

Reputation: 8805

The idiomatic way to check if a variable is an instance of a specific type is using isinstance(), e.g.:

>>> import gi
>>> gi.require_version('Gtk', '3.0')
>>> from gi.repository import Gtk
>>> cb = Gtk.CheckButton()
>>> if isinstance(cb, Gtk.Button):
...     print('Yes')
... 
Yes
>>> if isinstance(cb, Gtk.CheckButton):
...     print('Yes')
... 
Yes
>>> if isinstance(cb, Gtk.RadioButton):
...     print('Yes')
... else:
...     print('No')
... 
No
>>>

Upvotes: 4

Related Questions