如何为 C 中的 GListStore 构造函数的第一个参数提供 GType?

问题描述 投票:0回答:1

我需要在 C 程序中为特定 GTK API 使用 GListStore,因此我尝试创建一个 GListStore,以便可以用一些元素填充它。查看

g_list_store_new ()
的文档,我需要提供
GType
作为上述构造函数的第一个也是唯一的参数。然而,该文档没有具体说明
GType
到底是什么或者我如何获取它,据我所知,它也没有链接到任何参考资料。我尝试在网络上搜索,发现一些源代码提到了
G_TYPE_POINTER
(在其他类型中,但这似乎是我想要的,因为我正在存储字符串)。然而,
g_list_store_new (G_TYPE_POINTER)
会导致断言失败:

GLib-GIO-CRITICAL **: 11:42:49.339: g_list_store_new: assertion 'g_type_is_a (item_type, G_TYPE_OBJECT)' failed
Trace/breakpoint trap (core dumped)

我应该向该构造函数提供什么作为第一个参数来创建 GListStore?

c glib gio
1个回答
0
投票

该类型必须是 GObject 的子类,因此原始指针或装箱结构不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.