当鼠标单击窗口的关闭按钮时,将产生delete_event信号,如果该信号没有被处理(没有定义信号处理函数或信号处理函数返回FALSE,则将继续产生destroy消息)
例题:窗口的创建
#include
gboolean g_destroy_handler(gpointer data)
{
gtk_main_quit();
}
int main(int argc,char** argv)
{
GtkWidget* window;
gtk_init(&argc,&argv);
//创建一个GtkWindow构件
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
//设置窗口标题
gtk_window_set_title(GTK_WINDOW(window),"My First GUI");
//设置是否允许用户改变窗口大小
gtk_window_set_resizable(GTK_WINDOW(window),TRUE);
//设置窗口构件的大小
gtk_widget_set_usize(window,200,200);
//gtk_window_set_default_size:根据窗口内构件的大小来设置窗口的大小
//设置容器边框的大小
gtk_container_border_width(GTK_CONTAINER(window),10);
//gtk_container_add用来往窗口内添加一个构件,gtk_container_remove用来从一个窗口中删除一个构件
//设置居中显示窗口
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
//gtk_window_set_decorated() //设置是否使用窗口管理器的默认风格来创建窗口
//显示构件
gtk_widget_show(window);
//设置关闭按钮信号处理函数
g_signal_connect(window,"destroy",G_CALLBACK(g_destroy_handler),0);
gtk_main();
return 0;
}
阅读(1621) | 评论(0) | 转发(0) |