【问题标题】:GTK# common pitfallsGTK# 常见陷阱
【发布时间】:2009-01-30 09:26:20
【问题描述】:

我真的在考虑以 C#/Mono/Gtk# 组合开始我的下一个项目。

过去我从未接触过 GTK,因为用 GTK 构建的所有东西看起来都很糟糕,在视觉表现方面我有点强迫症。然而,大量的应用程序(想想Banshee,VMWare 控制台)清楚地证明了我的偏见观点是错误的,并重塑了我对 GTK 的不美观的看法。

我来自 Win32 API,[CreateWindowEx][2s] 有太多的 hwnd,GTK# 提供了一个非常好的 API,但是如果我需要更深入地挖掘(扩展控制行为等),它会对我产生不利影响吗?和我一起吗?

我从未使用过 Mono 或 GTK,所以“嘿,它在 Linux 和 Mac OS 上运行”的论点就像胶水一样粘在我的头骨上,我希望人们对我(很可能)过于简化的观点有所了解。

开机需要注意什么?

【问题讨论】:

    标签: c# mono gtk#


    【解决方案1】:

    我遇到的最大问题是缺少良好的画布控件,如果你真的想创建漂亮的 UI,你可能需要它。例如,Banshee 有一大堆由 Aaron Bockover 使用 Cairo 从头编写的自定义控件。与此解决方案一样灵活,它需要对 Gtk、Cairo 和其他相关内容有非常深入的了解。 但是,不要把我的意见当成气馁。 Gtk+ 和扩展 Gtk# 是一个了不起的环境,使用它可以很容易地快速创建极具视觉吸引力的 GUI。

    【讨论】:

    • 感谢您的评论!如果有一个体面的环境,我将创建自定义控件更多地视为一项挑战和有趣的事情。
    【解决方案2】:

    既然您提到 Banshee 是一个激发您灵感的项目,而且它是用 C# 编写的,或许可以先浏览一下它的源代码?这将让您以一种直接的方式查看 UI 代码的外观,在一个外观和感觉以及“UI 复杂性级别”适合您的口味的应用程序中,使用您已经知道的语言。

    【讨论】:

    • 感谢您的评论,我实际上查看了 GTK+ 和 GTK# 的所有来源和示例,发现它非常干净且可用。我主要关心的是,如果我认为合适并在漂亮的 API 层下挖掘,是否很容易扩展控件的行为?我会改写我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多