使用 GTK 构建 GUI#

发布于 2024-10-12 22:14:23 字数 488 浏览 4 评论 0原文

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

  • 编写 C# 代码来调用 GTK# 包装器类。 GUI 位于“代码中”。

  • 使用 MonoDevelop GUI 设计器。这使用 stetic 标记构建了一个界面。我看来只是XML。

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

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

我过去也曾将 Glade 与 Python 结合使用...

这两个项目本质上都只是实验性的,所以我真的很想听听以前参加过这场战斗的人的意见。各自的优点和缺点是什么?

最后,如果这个项目的开发可以在 Windows、Linux 和 Mac OS X 上进行,那就太好了。

I may need to build a GTK GUI using C# and Mono. If I understand correctly, that means I have 3 choices:

  • Write the C# code to call the GTK# wrapper classes. GUI is "in the code".

  • Use MonoDevelop GUI designer. This builds an interface using the stetic markup. I appears to just be XML.

  • Use Glade and libglade to create the GUI and load it at runtime.

I have a little experience with MonoDevelop's GUI editor. It's nice, but has a few rough edges. I can imagine needing to hand edit the stetic markup at some point.

I've also used Glade in the past with Python...

Both of these projects were experimental in nature only, so I'd really like to hear from someone that has fought this battle before. What are the advantages and disadvantages of each?

Finally, it would be nice if development for this project could take place on Windows, Linux, and Mac OS X.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦妄 2024-10-19 22:14:23

在过去,MonoDevelop GTK 设计器很糟糕。如今,它是构建丰富 GUI 的非常可靠(不完全但非常可靠)的解决方案。这是所有平台的最佳选择。通过代码构建 GUI 可能会变得非常痛苦。另一方面,使用 Glade 是一种乐趣,但也有一些缺点。这些缺点涉及运行时控件上的一些有限选项,例如在窗口上设置不透明度等,因为您需要使用 Glade 命名空间加载 XML Glade 文件。当然,总是可以选择在项目中导入 Glade 文件,但它对我来说从来没有用过。

During the old days, the MonoDevelop GTK designer was awful. Today, it is a very solid (not completely but very solid) solution for building rich GUIs. It is the best option for all platforms. Constructing a GUI through code can become quite painful. Using Glade on the other hand is a joy but you have some drawbacks. These drawbacks concern some limited options on your controls at runtime like setting Opacity on windows etc, because you need to load the XML Glade files with the Glade namespace. Of course, there is always the option of importing the Glade files in your project but it never worked for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文