1.未调用 gtk_widget_show()
GtkWidget *button = gtk_button_new_with_label("Click");
gtk_widget_show(button); // 显示控件
// 或者显示所有:gtk_widget_show_all(window);2.忘记将控件加入容器
GtkWidget *button = gtk_button_new_with_label("Click");
gtk_widget_show(button); // 控件创建了,显示了,但不在任何容器中
3.控件被意外销毁
GtkWidget *button = gtk_button_new();
gtk_container_add(GTK_CONTAINER(vbox), button);
...
gtk_widget_destroy(button); // 控件被销毁,从容器中移除3.加入到窗口容器的办法错误,比如对于dialog窗口,加入控件的方法比较特殊:
GtkWidget *content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
gtk_container_add(GTK_CONTAINER(content_area), label);4.CSS样式隐藏