Я создал массив кнопок в GTK на C, но у меня есть проблема - как я могу получить сигнал от них?Сигналы GTK из массива кнопок Язык C
GtkWidget *board[10][10];
for(i=0; i < 10; i++) {
for(j=0; j < 10; j++) {
board[i][j] = gtk_button_new();
}
}
Я могу, конечно, сделать это один за другим, как этот
g_signal_connect (board[0][0], "clicked", G_CALLBACK(show_info), NULL;
Но я планирую сделать настольную игру и там будет 100 кнопок ... Есть способ, это можно сделать одной функцией? Например, я хотел бы изменить цвет кнопки, который был нажат, но я понятия не имею, как написать код для этого.
Благодарим за помощь.
не могли бы вы назначить функцию к ним с помощью указателей на функции? – ShellFish
@ShellFish вы можете объяснить, что вы имеете в виду? – andlabs
@alcia Первый аргумент обработчика сигнала - это объект, который генерировал сигнал, поэтому вы всегда можете узнать, какая кнопка была нажата. – andlabs