提问人:Adrian K-B. 提问时间:11/16/2023 更新时间:11/16/2023 访问量:12
将林间空地与多个 ui 文件一起使用
Using glade with multiple ui files
问:
我最近按照 GTK 团队的建议,将 glade 生成的一个杂草丛生(约 40k 行)GtkBuilder UI 文件拆分为多个较小的文件,每个顶级小部件一个。它们被编译成资源,并使用 gtk_builder_add_from_resource() 串行添加。它确实使 UI 代码更具可读性,但引入了一个新问题。
许多文件引用其他文件中的元素。例如,许多文件使用相同的属性:过滤器都在首先加载的 filters.ui 中定义。<property name="filter">my_filter_name</property>
问题是,如果我编辑其他文件之一,glade 不知道,因为定义在另一个文件中,而不是保留它,而是在我保存文件时删除该属性。对另一个文件中定义的菜单的引用也存在类似的问题,依此类推。my_filter_name
我找不到一个明显的设置来告诉格莱德不要这样做。有没有一个,或者我是否不得不在林间空地上编辑复杂的 UI,然后在文本编辑器中重新编辑以放回它删除的所有元素?
我尝试过 cambalache,它更好,因为它确实保留了它无法识别的元素,但不幸的是,它以其他方式破坏了导致我的应用程序崩溃的元素:如果您从头到尾使用 camabalache 创建一个 UI,也许没关系,但对我来说它不可用,所以我专门寻找允许我继续使用 glade 的解决方案(至少只要我继续使用 GTK3), 或者确认没有办法做到这一点,在这种情况下,我只能手动编辑 XML。
答: 暂无答案
评论