Я строю GUI с GTK-3 в Python, используя Glade. Существует также ListStore, столбцы которого определены в файле Glade. Теперь я хочу заполнить ListStore значениями цифр c (есть столбцы типа int и float), которые я получаю в виде строк, поэтому мне нужно преобразовать их в соответствии с типами столбцов.
Я хотел бы использовать типы столбцов, как определено в объекте ListStore для преобразования вместо жестко закодированного списка, чтобы поддерживать типы столбцов только один раз (предпочтительно в файле Glade) и сохранять эту часть модульной для других подобных ListStores, которые будут добавлены позже. К сожалению, типы столбцов, которые я получаю из ListStore путем вызова TreeModel.get_column_type(index_)
, равны GObject.GTypes
, и я не знаю, как создать соответствующее значение с помощью GType или получить из него связанный тип Python.
Я уже пытался поиграться с объектом типа gint
и классом GObject.GType
в интерактивной оболочке Python и прочитать онлайн-документацию, но ничего не понял, чтобы решить мою проблему. Также создание GObject.Value
типа gint
из строки типа "123"
или transform()
a gchararray
в значение gint
не сработало.
Как я могу преобразовать мои строки в правильный тип Numberri c на основе GType? Это реально достижимо, что я хочу сделать, или мне нужен другой подход? Я мог бы вместо этого использовать некоторое статическое c отображение GTypes на типы Pyhton, но если я просто что-то упустил из-за системы GType, я бы хотел это понять.