GTK编程:信号处理、数据类型与控件布局
1. 信号处理与窗口显示
在GTK编程中,当我们完成了信号处理函数的设置以及控件在窗口中的布局后,需要让GTK将这些控件显示在屏幕上。以下是相关代码示例:
gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); gtk_widget_show (window); gtk_main (); return 0;这里,gtk_container_add函数将按钮添加到窗口中,gtk_widget_show函数用于显示控件,先显示按钮再显示窗口,最后调用gtk_main函数等待X服务器的事件。当gtk_quit被调用后,程序会返回到return 0处。
当我们点击GTK按钮时,按钮会发出 “clicked” 信号。我们的程序可以设置信号处理函数来捕获这个信号,并调用我们选择的函数。例如,当按钮被点击时,hello()函数会被调用,接着会调用gtk_widget_destroy函数销毁窗口,窗口会发出 “destroy” 信号,该信号会被捕获并调用destroy()回调函数,从而退出GTK。
另外,如果使用窗口管理器关闭窗口,会发出 “delete event” 信号,调用