0
我正在用C編寫應用程序,並使用Glade3來製作GUI(和GTK生成器)。如何避免必須引用外部XML文件?
Glade 3不允許再生成C代碼(我理解它的原因),但是現在所有的應用程序都需要將XML文件掛在已編譯的應用程序中,就像一個令人討厭的.dll文件一樣。有沒有人有任何項目知識來創建C代碼,或者如何將XML文件嵌入到代碼本身中?我想這可能會完成,但我敢打賭,這將是一個痛苦。
我正在用C編寫應用程序,並使用Glade3來製作GUI(和GTK生成器)。如何避免必須引用外部XML文件?
Glade 3不允許再生成C代碼(我理解它的原因),但是現在所有的應用程序都需要將XML文件掛在已編譯的應用程序中,就像一個令人討厭的.dll文件一樣。有沒有人有任何項目知識來創建C代碼,或者如何將XML文件嵌入到代碼本身中?我想這可能會完成,但我敢打賭,這將是一個痛苦。
你可能想要的是:
gtk_builder_new_from_string(const gchar *string, gssize length);
https://developer.gnome.org/gtk3/3.10/GtkBuilder.html#gtk-builder-new-from-string
只是字符串化(在GtkBuilder格式)glade3 XML文件,並把它作爲一個字符串。
它仍然是可能使用glade-2.12生成gtk2代碼,然後將其移植到gtk3;但是如果你打算這樣做,那麼簡單地修改該glade版本以直接輸出gtk3語法可能是值得的。