我正在考虑启动一个小型副项目并开发一款软件。我想以 Geary 为基础进行设计,我非常喜欢 Geary。我可以使用哪个 GUI 库来实现这一点?
Geary 是用 Vala 编写的,但我不太想使用它。如果我使用的方法不兼容,那也太遗憾了。
谢谢
答案1
Geary 的 UI 基于 GTK+ 3。文件夹列表(左列)和对话列表(中间列)是 Gtk TreeView。对话查看器和电子邮件编辑器都是 WebKitGTK WebView,因此您看到的都是 HTML 和 CSS。
GTK+ 和 WebKitGTK 均提供 C 接口。还有许多其他语言的标准绑定,包括 Vala、Python、C++ 等。
大部分工具栏、对话框、帐户管理窗口等都是使用 Glade 构建的。Glade 的妙处在于,它会将您的 UI 保存为 XML 文件,该文件可以加载到任何 GTK+ 应用中,无论它是用什么语言编写的。
即使您没有使用 Vala 编写应用程序,如果您想了解其工作原理,我还是建议您查看 Geary 源代码,因为 GTK 在任何语言中都非常相似。您可以在此处在线浏览源代码: http://git.yorba.org/cgit.cgi/geary/tree/
希望这些足以让您开始使用!如果您对 Geary UI 有任何其他疑问,我很乐意为您提供帮助。