打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GTK:如何让你的程序正常退出?
前面创建的窗口只能关闭,但是不能让程序正常退出,那么如何让你的程序正常退出呢?
首先,我们需要能使用用程序结束的函数:
结束应用程序 1.
名称::
gtk_main_quit
功能:
结束应用程序
头文件:
#include <gtk/gtk.h>
函数原形:
void gtk_main_quit(void);
参数:
返回值:
gtk_main_quit函数可以结束程序
若想要应用程序能够正常退出,仅仅有能使程序的函数是不够的,我们还需要了解几个概念:事件、信号、回调函数。
事件:用户对程序的操作,比如按一下鼠标、拖动窗口、按下窗口的按键等等。
信号:事件发生时,相应的构件将给应用程序的回呼函数提供信号
回调函数:当需要对信号进行处理时,需要用GTK+登记回调函数,并将它和构件联系在一起。构件可以登记回调函数,回调函数可与多个构件联系在一起。
GTK常用的回调函数有下面两个:
2.
名称::
g_signal_connect
功能:
信号登记函数
头文件:
#include <gtk/gtk.h>
函数原形:
gulong g_signal_connect(gpointer *object,const gchar *name,GCallback func,gpointer data);
参数:
object    发出信号的控件
name     信号名称
func      回调函数(对信号要采取的动作)
data      传给回调函数的数据
返回值:
g_signal_connect用于登记一个GTK+信号,其功能有点像普通信号登记函数signal.当某个空间发出信号,程序就会去执行由g_signal_connect登记的回调函数。
3.
名称::
g_signal_connect_swapped
功能:
信号登记函数
头文件:
#include <gtk/gtk.h>
函数原形:
gulong g_signal_connect_swapped(gpointer *object,const gchar *name,GCallback func,gpointer *widget);
参数:
object    发出信号的控件
name     信号名称
func      回调函数(对信号要采取的动作)
winget    传给回调函数的数据
返回值:
g_signal_connect_swapped() 的作用和 g_signal_connect() 相同,只是回调函数只用
一个参数,一个指向 GTK 对象的指针。所以当使用这个函数连接信号时,回调函
数应该是这样的形式
void callback_func( GtkObject *object );
这个对象常是一个构件。然而我们通常不用函数 g_signal_connect_swapped() 设
置连接。它们常被用在只接受一个单独的构件或者对象的回调函数中作为参数,如
同我们的 helloworld 示例中那样。
拥有两个设置信号连接函数的目的是简单的允许回调函数有不同数目的参数。
GTK 库中许多函数仅接受一个单独的构件指针作为其参数,所以对于这些函数你要
用 g_signal_connect_swapped(),然而对你自己定义的函数,你需要附加的数据
提供给你的回调函数。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
g_signal_connect 与 g_signal_connect_swapped
GTK学习[一]:GTK中的信号(Signal)与事件
linux中的信号机制
四、Python Signal 信号
glade3 连接信号 自定义callback函数
Linux 信号处理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服