我正在测试一些GTK +示例。带有XML接口的基本UI Gtk
在某些给定的函数中,引用某个XML文件的某个路径出现在 的C代码中。据介绍,在C代码读取XML内容 后来编译它是从C代码可用:
static void
example_app_window_class_init (ExampleAppWindowClass *class)
{
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
"/org/gtk/exampleapp/window.ui");
}
我能理解这里发生了什么,而不是它是如何读取源XML ?window.ui
,在这种情况下。由于回购没有文件夹 ,因为他们提到(/org/gtk/exampleapp/
)。
所以,在我的功能我希望做一些事情,如:
static void my_style_window_class_init(MyStyleWindowClass *class) {
gtk_widget_class_set_template_from_resource(GTK_WIDGET_CLASS(class),
"window.ui");
}
我所有的XML内容是在同一个文件夹中*.c
和*.h
文件。这是一个测试的决定,没有其他含义。
非常感谢。 – Hell0
所以它的一种'虚拟路径'只能在'resource'中使用_scope_¿正确吗?文档说使用'Java-style-path'来避免冲突。什么样的冲突?我认为这与当地的_HD_道路有关,但我认为我并不完全理解。 – Hell0
是的,它是一个虚拟路径,具有全新的命名空间。之所以说避免冲突是因为如果你有一个名为'/ myresource.xml'的资源,并且你的一个共享库也试图拥有一个名为'/ myresource.xml'的资源,那么会有冲突。 – andlabs