构造函数
GObjectObjectnew
声明 [源]
GObject*
g_object_new (
GType object_type,
const gchar* first_property_name,
...
)
描述 [源]
创建一个新实例的 GObject
子类型,并设置其属性。
构造参数(见 G_PARAM_CONSTRUCT
,G_PARAM_CONSTRUCT_ONLY
),没有明确指定时会被设置为它们的默认值。对象的任何私有数据都将按照
请注意,在C中,变量参数表中的小型整数类型会被提升到 gint
或 guint
,并按照相应的方式读取。在GLib当前支持的所有平台上,gint
是 32 位。这意味着您可以使用类型为 gint
的 C 表达式和类型为 gint
或 guint
或更小的属性。具体来说,您可以使用整数文字与这些属性类型一起使用。
当使用类型为 gint64
或 guint64
的属性类型时,您必须确保提供的值是 64 位。这意味着您应该使用转换或利用 G_GINT64_CONSTANT
或 G_GUINT64_CONSTANT
宏。
同样,gfloat
被提升为 gdouble
,因此您必须确保提供的值是 gdouble
,即使属性类型为 gfloat
。
自GLib 2.72以来,确保所有 GObjects
都至少与最大的基本 GLib 类型(通常是 guint64
或 gdouble
)的对齐。如果您需要为 GObject
中的元素分配更大的对齐,您应该(对齐)在堆上分配它,或者安排为您的 GObject
设置适当的填充。
此构造函数不直接对语言绑定可用。
参数
object_type
-
类型:
GType
要实例化的
GObject
子类型的类型 ID。 first_property_name
-
类型:
const gchar*
第一个属性的名字。
数据由函数的调用者拥有。 值是一个以 NUL 结尾的 UTF-8 字符串。 ...
-
类型:
第一个属性的值,后面可以跟更多 name/value 对,最后跟
NULL
。
返回值
类型: GObject
object_type
的新实例。
函数的调用者获得数据的所有权,并负责释放它。 |