2011-01-20 83 views
3

我可能需要使用C#和Mono构建GTK GUI。如果我理解正确的话,这意味着我有3种选择:GTK的GUI构建#

  • 编写C#代码来调用GTK#包装类。 GUI是“在代码中”。

  • 使用MonoDevelop GUI设计器。这使用stetic标记构建了一个接口。我似乎只是XML。

  • 使用Glade和libglade创建GUI并在运行时加载它。

我对MonoDevelop的GUI编辑器有一点经验。这很好,但有一些粗糙的边缘。我可以想象在某个时候需要手动编辑Stetic标记。

我也用格莱德在与Python过去......

这两个项目在本质上是实验而已,所以我真的想从别人以前已经并肩作战听到。每个的优点和缺点是什么?

最后,这将是很好,如果该项目的开发可能发生在Windows,Linux和Mac OS X.

回答

1

在旧天,MonoDevelop的GTK设计者是可怕的。今天,它是构建丰富图形用户界面的非常稳固(不完全但非常稳固)的解决方案。这是所有平台的最佳选择。通过代码构建GUI可能会变得非常痛苦。另一方面使用格莱德是一种喜悦,但你有一些缺点。这些缺点涉及到你的控件在运行时的一些有限选项,比如在Windows上设置Opacity等,因为你需要使用Glade命名空间加载XML Glade文件。当然,总是有在您的项目中导入Glade文件的选项,但它从来没有为我工作。

+0

我将会给MonoDevelop另一个去。我已经在我的Mac,Windows和Linux上安装了它。在Mac OS X上,我注意到它有很多问题。我希望这不是一般的OS X上的GTK +的指示... – Nate 2011-01-22 04:05:54