gobject的g_object_new_with_properties简单例子
时间: 2023-08-09 19:09:34 浏览: 82
`g_object_new_with_properties`是一个函数,可以用来创建一个新的GObject对象,并设置它的一些属性。
以下是一个简单的示例,演示如何使用`g_object_new_with_properties`创建一个新的GObject对象,并设置它的属性:
```c
#include <glib-object.h>
int main() {
GObject *obj;
GValue val = G_VALUE_INIT;
// 设置属性的值
g_value_init(&val, G_TYPE_INT);
g_value_set_int(&val, 42);
// 使用 g_object_new_with_properties 创建一个新的 GObject 对象
obj = g_object_new_with_properties(
G_TYPE_OBJECT, // 对象类型
"prop-int", &val, // 设置一个名为 "prop-int" 的整型属性
NULL // 结束标志
);
// 获取属性的值
g_object_get_property(obj, "prop-int", &val);
g_print("prop-int = %d\n", g_value_get_int(&val));
g_object_unref(obj);
return 0;
}
```
在上面的例子中,我们创建了一个名为`obj`的新的`GObject`对象,并设置了一个名为`prop-int`的整型属性,其值为`42`。我们还使用`g_object_get_property`函数获取了该属性的值,并将其打印到控制台上。
注意,我们在使用`g_object_new_with_properties`函数之前,需要使用`g_value_init`函数初始化我们要设置的属性的值。在使用完毕后,我们需要使用`g_object_unref`函数释放我们创建的`GObject`对象。
阅读全文