我的主要功能中有很多检查按钮(cbuttons [])。
单击安装按钮后,将提交带有复选按钮的数组。
int main(int argc, char *argv[]) {
GtkWidget *cbuttons[13];
[...]
for(i = 0; i < 6; i++) {
cbuttons[i] = gtk_check_button_new_with_label(cbuttons_label[i]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbuttons[i]), TRUE);
gtk_box_pack_start(GTK_BOX(vbox_lcbuttons), cbuttons[i], FALSE, TRUE, 0);
gtk_widget_show(cbuttons[i]);
}
[...]
g_signal_connect(button_install, "clicked", G_CALLBACK(install), &cbuttons);
}
现在我想用 data[] 分析不同按钮的状态,但它不起作用:
警告:取消引用“void *”指针。
我是 GTK 的新手。也许这是错误的方法?任何人都可以帮助我正确的方式吗?(对不起我的英语不好。我不太熟悉这种语言。)
void install(GtkWidget *widget, gpointer data) {
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(*data[0]))) {
func1();
}
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(*data[1]))) {
func2();
}
[...]
}