跨平台的最小GUI库是什么?

7
我正在寻找一个最小化且易于学习的C或C++跨平台GUI库。
简单来说,我只需要以下功能:
- 应用程序窗口 - 菜单栏 - 一些简单的对话框,如打开和保存文件。也许是用户自定义的。 - 用户画布,可以在上面绘制线条和圆圈。 - 某种消息/事件循环机制。
目标平台将是Win32和Linux。MacOS会很不错,但目前并不重要。
为什么我要寻找一个最小化的东西?因为我不想花费太多时间去学习一个针对非常小的应用程序而设计的大而全的抽象系统。越简单、越精简,越好。
有什么建议吗?

你似乎认为如果框架不是最小化的,那么学习起来会很困难,因为你正在学习一个抽象系统。但实际上,你可以选择一些大型的GUI框架,比如Qt,它非常容易且精简,易于学习。 - Philippe F
4个回答

17
如果您需要一些小型的东西,可以尝试使用 FLTK 库:我在工作中(嵌入式开发)使用过它们,我认为这是一个有效的选择。也许应用程序不像基于 QT 的应用程序那样“酷”,但是使用 FLTK 库进行开发是快速而容易的。

1
+1 FLTK肯定比QT和wxWidgets要小。就我个人而言,我喜欢wxWidgets,但如果尺寸问题很重要的话,那就选择FLTK。 - nathan
如果你看待某件事情很简洁,我完全同意。 - castle1971

8
我不确定是否最简,但Qt相当易学。
它足够轻量级,可以在嵌入式设备上运行,所以您可以自己评判。
看到评论后编辑:
是的,Qt是一个完整的应用程序框架,但我的观点是:具有跨平台GUI但其他平台相关代码的应用程序并不真正是跨平台的。我认为将现有的C++代码移植到Qt中根本不需要任何工作。如果有什么,这将允许Nils使用他现有的C++代码,并且只使用Qt进行GUI。但是,我假设现有的C++代码是可移植的。

3
你不能将QT称作是一个极简GUI框架,它是一个功能齐全的应用程序框架,并且有很多抽象概念。这正是Nils不想要的! - Milan
2
他强调易学性,并隐含假设大型框架==学习时间长。Qt是一个大型框架,但你只需使用其中的1%而不必担心其余部分,且它是我用过的最简单的GUI工具包。 - Philippe F
1
实际上,使用Qt GUI构建器是我曾经经历过的最好的事情之一。我从未想过拖放GUI构建器能够如此友好地对待程序员。 - jrharshath

6
wxWidgets(前身为wxWindows)是一个用于创建跨平台应用程序的图形用户界面(GUI)的小部件工具包。wxWidgets使得程序的GUI代码能够在多个计算机平台上编译和运行,最少或没有代码更改。它覆盖了Microsoft Windows、Mac OS X、Linux/Unix(X11、Motif和GTK+)、OpenVMS、OS/2和AmigaOS等系统。嵌入式系统版本正在开发中。 http://www.wxwidgets.org/

1

请参考适用于Windows的良好C++ GUI库以获取相关答案。

个人而言,我会选择Qt,现在它是开源的。你不一定需要一个最小的库,你需要一个易于使用的库,优质的文档和社区支持将为您提供这些。

小项目有一个讨厌的习惯,就是粘在一起并扩大范围——随着事情变得更加复杂,你不想被卡在一些没有人知道的小库中。


1
问题: “我想要这个。” 您的回答: “实际上你不想要那个,你想要的是这个。” - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接