0

(这是一个理论上的问题,为了解决个人问题,所以我对“恕我直言,这是不可取的”答案不感兴趣,因为这只是解决一些小问题,而不是安装在您的机器上等... ;-)

我制作了几个自定义 Gtk 小部件,它们扩展了基本小部件,例如 GtkFileChooser 和 GtkNotebook。

(不多,但它的东西,截至昨天我对 gtk 或 c 一无所知,所以这更像是一个理论上的问题 - 但是如果它不可能,那么我再学习 gtk2 就没有多大意义了)

但是我想在我所有的 gtk2 应用程序中使用这些小部件。

是否可以在不从源代码重建 gtk2 库的情况下以系统方式覆盖默认小部件?

看起来 gtk-modules 是要走的路,但文档似乎很少,除非我的谷歌搜索遗漏了一些东西。

这样做的目的是 GtkNotebook 不支持多行选项卡,但它用于 Geany、Anjuta、Bluefish 和许多其他基于 gtk2 的编辑器。我可以重新编译 geany 和 Anjuta,以及 bluefish 来使用我的小部件,但我更愿意将其全部换掉。

4

1 回答 1

0

通常,在不同应用程序之间重用小部件的正确解决方案是创建一个添加小部件的动态库。

请记住,建议使用单独的 GType 创建真正的 GObject 子类。然后添加对自省的支持也很简单,因此您的小部件也可以用于语言绑定等。

于 2011-12-18T13:33:58.447 回答