有谁知道如何阻止GTK g_type_init()出现

时间:2015-03-20 09:58:24

标签: c gtk

我正在尝试使用gtk_container_remove,它说我忘了调用g_type_init(),有没有人知道如何阻止这种情况发生

2 个答案:

答案 0 :(得分:1)

如果您使用的是早于2.36(已发布:2013年3月)的GLIB版本,则需要注意您已获得的建议并致电g_type_init()功能。较新版本的GLib会自动为您调用该功能。

但是,由于您正在使用GTK +,因此您收到的警告表示另一个问题;这意味着您没有初始化GTK +本身,它将在内部为您初始化GLib类型系统。在使用任何其他gtk_init()功能之前,您必须先致电gtk_init_check()gtk_*来初始化GTK +。通常,您在gtk_init()函数体中首先调用main

如果您使用的是GTK + 3.0以上的版本,则应考虑将代码移植到GtkApplication类,这将在您实例化时为您初始化GTK +。

了解更多信息:

答案 1 :(得分:0)

  

在GUI应用程序中使用任何GTK +功能之前,您必须初始化系统。

要初始化系统,您必须致电gtk_init () 这将初始化操作工具包所需的所有内容并解析一些标准命令行选项。

g_type_init()调用函数gtk_init()
底线:在使用任何gtk + func之前调用gtk_init()

有关详细信息,请参阅gtk_init