繁体   English   中英

适用于C ++的小型本机跨平台GUI框架

[英]Small native cross-platform GUI framework for C++

我用C ++中的Boost写了一个小程序。 它工作正常,所以我想给它一个图形界面,以便于使用。
为了做到这一点,我正在寻找可以提供本机外观的小型跨平台框架。 Windows和Linux支持就足够了,目前我不需要os x ...

我在其他项目中使用了wxWidgets,但要进行所有设置并随软件一起交付这个大库是一件很痛苦的事情。
但是我对使用真正的本机控件感到非常惊讶。 为了保持程序的小巧,我也尝试了fltk,但是它的外观糟透了。

我只需要一个没有网络支持或其他头的简单框架。

所以我的问题是:是否有适合所有需求的框架? 否则,哪种框架至少满足其中一些需求?

提前致谢!

当其名称中带有“框架”一词时,它几乎不会很小。

无论如何,图形框架/库往往很大,因为它们需要处理很多东西。

Qt可能是跨平台GUI最好的直接库,但它绝对不能构成“小型框架”。 另一方面,在Linux系统上,很可能已经安装了Qt。 加上它绝对是它的大小。

就gui工具包而言,wxwidgets相当小。

它是跨平台的

http://www.wxwidgets.org/

您已经提到了它,但是就跨平台工具包而言,它是我所见过的最小的工具包之一。

我唯一的建议是,您可以将代码包装到C库中,然后将其链接到另一种语言中。 例如,在Windows上使用.NET,对于Linux甚至是基于Java的应用程序,请使用mono。(尽管它们看起来并不总是平台特有的)。 然后从那里使用您的图书馆。

Ultimate ++可能包含您需要的内容。 (尽管他们在FAQ中听起来像他们的图书馆真的很大,但对我来说似乎并不那么糟糕。)

别忘了检查一下果汁

Qt的工作原理惊人,但不是很小。 我发现确实缺少“小型”跨平台GUI。 您可以尝试在各处使用#ifdefs抽象您的GUI,或者使用Qt / wx。

如果您希望它很小,则只需编写两次GUI,一次在MFC中,然后在X中。您的GUI听起来很简单。 建立您自己所需的小型抽象。

像其他提到的一样,您不能在同一句子中混合使用“跨平台”和小字体。

更多工作,更小尺寸:我可以建议的一种解决方案是对UI部分使用本机python绑定。 由于您已经在使用boost,因此让Boost.Python在C ++空间和python空间之间通信应该是微不足道的。 您已经在Linux上安装了python,在Windows上安装了20-40MB的软件包(不记得最新版本的大小)。 但是在这里,您将必须在Windows上使用win32绑定,在Linux上使用gtk / qt绑定,因此需要做更多的工作。 不,要维护的工作太多了,请抓紧时间。

中等工作量,体积较小,但具有非本地控件:您可以尝试使混乱或freeglut来完成UI工作,但我个人没有使用过它们,因此我不知道它们是否为您的应用程序提供完整的本机外观。 但是与wx或qt相比,它们的尺寸较小。

更少的工作,更大的尺寸:如果已经习惯使用WxWidgets,否则建议使用Qt。

您还可以查看其他一些产品: http : //en.wikipedia.org/wiki/List_of_widget_toolkits

杂波: http: //www.clutter-project.org/关于FreeGLUT: http ://freeglut.sourceforge.net

这里有大量的活跃和不活跃的跨平台C ++ UI库: https : //philippegroarke.com/posts/2018/c++_ui_solutions/其中一些很小,看起来很自然。

听说过QT吗???

http://qt.nokia.com/products/

我认为它应该适合您的所有需求

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM