GTK. как я могу получить виджет по идентификатору? - PullRequest
1 голос
/ 13 февраля 2012

gtk определяет IO callback как bool func (gtkchannel, GIOCondition, GPointer userdata)

проблема в том, что я хочу отправить 2 аргумента в виде user_data: виджет и указатель, который будет хранить мои ошибки из обратного вызова. Я знаю, что могу отправить struct, но я хочу проверить, есть ли другой способ сделать это. Есть ли способ редактировать тип обратного вызова? Есть ли способ получить адрес виджета?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Вы должны использовать структуру или создать свой собственный класс и передать его. В качестве альтернативы используйте GTK от Python или Vala. Передача данных в обратные вызовы намного проще на этих языках.

0 голосов
/ 14 февраля 2012

Мне кажется, что отправка указателя на структуру является правильным и лучшим способом. Я всегда так делаю. И я думаю, что невозможно изменить подпись функции обратного вызова, но переписать и перекомпилировать libgtk)))

...