Найти тип виджетов GTK - PullRequest
       7

Найти тип виджетов GTK

0 голосов
/ 07 февраля 2020

Я работаю над GTK в python после создания CheckButton или Button с помощью:

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

Я хочу проверить тип x или y При использовании type () возвращается

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

или

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

Можно ли проверить его тип по-другому?

1 Ответ

4 голосов
/ 07 февраля 2020

Способ idiomati c для проверки, является ли переменная экземпляром определенного типа c, использует isinstance(), например:

>>> 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
>>>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...