glib中g_object_set_data及相关函数的使用[0713]
2009-07-13 14:12
489 查看
主要使用的函数有g_object_set_data与g_object_get_data两个函数
他们的主要功能是把某个指针(任意类型的[可以指向某个构件],原型为gpointer ,即空指针)与某个构件相关连。
关联后即可通过构件+相应的key获取到相应的指针。
另外如果是clutter中一些不为float reference的东东,也可以用此法做个关联
最后用clutter_container_find_by_name找到相应的构件,在通过指定的key找到需要释放的构件进行释放。
他们的主要功能是把某个指针(任意类型的[可以指向某个构件],原型为gpointer ,即空指针)与某个构件相关连。
关联后即可通过构件+相应的key获取到相应的指针。
#include <gtk/gtk.h> void object_data_get(GtkWidget* wid) { char* var = g_object_get_data(G_OBJECT(wid), "1"); char* var2 = g_object_get_data(G_OBJECT(wid), "2"); printf("the string = %s \n", var); printf("the string = %s \n", var2); return ; } int main(int argc, char**argv) { gtk_init(&argc, &argv); GtkWidget* label = gtk_label_new("this is a new lable"); g_object_set_data(G_OBJECT(label), "1", "hello"); g_object_set_data(G_OBJECT(label), "2", "world"); object_data_get(label); return ; }
另外如果是clutter中一些不为float reference的东东,也可以用此法做个关联
最后用clutter_container_find_by_name找到相应的构件,在通过指定的key找到需要释放的构件进行释放。
相关文章推荐
- 使用ObjectDataProvider 将函数应用到绑定
- How to convert a simple DLINQ Query to a data set object
- iOS中关联对象的简单使用(objc_setAssociatedObject)
- pb setprofilestring()函数中使用相对路径
- time及其相关函数的使用
- 关于运行时的方法使用:objc_setAssociatedObject
- 创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)
- set和data解决运输问题2(使用.txt传递数据)
- MySQL时间日期相关函数使用
- category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
- 第17周项目6-4,使用结构体类型,完成相关函数的定义
- 使用gethostname()函数和gethostbyname()函数获取主机相关信息
- $http_raw_post_data 函数使用
- SQL OBJECTPROPERTY 函数,使用详解
- C#中如何将List<自定义>转为Json格式 及相关函数-DataContractJsonSerializer
- js中几个正则表达式相关函数使用时g标志的作用
- Box2D 使用setTarget 函数拖动body (结合cocos2d-x 2.0版)
- 使用js加载图像和setDataXML()加载数据
- ObjectDataProvider 作为Binding的Source来使用的案例
- Python多线程中join函数与setDaemon函数使用说明