3

我是一名在大学工程项目团队工作的学生。

我们的软件小组正在寻求创建一个模块化的 GUI,允许通过捕捉面板进行实时重新配置,用户可以随意移动和脱离 GUI(具有这种类型 GUI 的流行程序:Adobe Production Studio、Eclipse、Visual Studio、大多数主要的“设计”程序)。

任何人都可以建议一个开发这种 GUI 的框架吗?理想情况下,我们正在努力实现与主要 PC 平台(Linux、Mac、Windows)的兼容性。任何流行的语言都是可以接受的。

我浏览了 wxWidgets、GTK+ 和 Java Swing GUI 的示例。我确信可以使用其中任何一种来开发这样的 GUI,但是如果我们可以利用某种现有的框架或库,那就更好了。任何提示/技巧将不胜感激。

谢谢。

4

5 回答 5

4

在 wxWidgets 中有专门为可停靠面板和工具栏设计的wxAUI库。在 wxWidgets 安装的 samples/aui 文件夹中有相当丰富的示例。

于 2011-09-10T07:55:08.967 回答
2

我不是专家,但是,听起来您在谈论“对接”小部件(或控件或任何您想调用的 GUI 组件)。虽然许多主要的 GUI 播放器都做得很好,但我看到 Java 之外很少有跨平台做得很好的。如果对接对您的项目至关重要,您甚至可能希望在决定选择一个之前在每个主要的 GUI 工具包中构建简单的小测试应用程序。

wxWidgets 使用底层的本地库,至少据我所知,它没有对接库。

GTK+ 有gdl(GNOME 对接库),但我认为它不会在 Windows 中工作。我经常使用它,它在 GNOME 中效果很好。

Qt 有一个Dock Widget,但我不是 Qt 开发人员,所以我不能给你更多。

Java/Swing 有很多对接库。你必须用谷歌搜索那个——太多了,我无法列出。我也不会做太多Java。

尽管我通常不喜欢 Java 应用程序,但如果 Java 确实需要在多个平台上一致地运行,它可能是你最好的选择。

于 2011-09-10T00:47:35.870 回答
1

在 Java Swing 中,有几个我过去使用过的开源库或多或少取得了成功:

  • flexdock:旧库,非常强大,但使用和调整非常复杂(在我看来没有足够的设计文档)。项目很久以前就被放弃了,但是当你可以“掌握”它时,它会产生非常好的结果。我今天不推荐它(完全不支持)

  • mydoggy:好的 API,易于使用(有据可查),但有点难以微调,特别是如果您使用 3rd-party 的外观和感觉。也许这个后来的问题在最近的版本中已经消失了(一年多前我试过 mydoggy)

  • 对接框架:非常好的 API,易于设置,良好的文档,一些简单的教程,但缺乏“更深入”的示例。很好支持。今天我肯定会推荐去这个图书馆。请注意,该库提供 2 个 API 级别,“common”和“core”。我发现文档对于在什么情况下使用哪一个不是很清楚。我对两者都进行了测试,最后决定使用“通用”库,但今天无法解释为什么:-(

另外还有几个Swing的商业对接库,可以特别查一下JIDE,比较有名。

于 2011-09-11T09:21:03.497 回答
0

它是一个 .NET Winforms 库,但我们使用Dock Panel Suite。它是开源的,效果很好。

于 2011-09-10T00:57:10.097 回答
0

很多 gui 工具包都具有该功能,我知道这是一个非常模糊的答案,但很大程度上取决于您对开发语言和目标平台的偏好,您没有说明。此外,如果您通常没有很多开发 GUI 的经验,最好从更静态的东西开始,而不是可以动态重新配置的 gui。设计一个易于处理的动态 gui 需要做很多工作。

我个人非常偏爱 Qt 和 c++。Qt 支持 windows/mac os 和 linux,并且组织得很好,有大量的文档。

于 2011-09-10T00:05:47.743 回答