GtkWidget* create_window2 (void)
{
...........
}
void on_button1_clicked (GtkButton *button ,gpointer user_data)
{
GtkWidget *window1;
gtk_widget_hide(window1);
}
void window1_hide (GtkWindow *window ,gpointer user_data)
{
my_connect( XX ,XX); //这是我自己的函数 里面含有printf语句
GtkWidget *window2;
window2=create_window2();
gtk_widget_show(window2);
}
信号注册函数对部件转换换成G_OBJECT
C/C++ code
g_signal_connect (G_OBJECT(button1), "clicked",
G_CALLBACK (on_button1_clicked),
NULL);
还有一个就是
C/C++ code
GtkWidget *window1=NULL; //设成全局变量
void on_button1_clicked (GtkButton *button ,gpointer user_data)
{
//GtkWidget *window1 ; //window1这个部件没加任何初始化怎么能有窗体显示呢?
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
//如果你不做gtk_widget_show(window1);//本来就是隐藏的
//gtk_widget_hide(window1);
}
GtkWidget *window1;
gtk_widget_hide(window1);
楼主window1是那个???