LINUX.ORG.RU

GTK. Не могу разобраться с g_signal_connect


0

0

Работаю с библиотекой GTK по Linux.
Не могу разобраться с тем, как работает 4ый параметр функции g_signal_connect. У меня есть строка char *s = «lol»; и мне нужно её передать в функцию button1_clicked, чтобы вывести в label. Следующий код работает неправильно - выдаёт машинный код в label.

void button1_clicked(char *n)
{
gtk_label_set_text(G_OBJECT (lbMain), n);
}

............................

int main(int argc, char *argv[])
{
............................
char *s = «lol»;
g_signal_connect(G_OBJECT(button1), «clicked», G_CALLBACK(button1_clicked), s);
............................
}


в обработчике сигнала должно быть два аргумента. первый - виджет, к которому привязан сигнал, а второй - пользовательские данные. исмени прототип на void button1_clicked(GtkButton *b, char *n), и будет тебе счастье

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.