关于c ++:最简单的跨平台小部件工具包?

关于c ++:最简单的跨平台小部件工具包?

Easiest cross platform widget toolkit?

什么是最简单的跨平台窗口小部件工具包? 我正在寻找一种至少具有C或C ++接口的Windows,OSX和Linux。


我不知道我个人使用过C API,但是wxWidgets是C ++。它可以在Windows,Linux和Mac OS X上运行。如果您要寻找简单的工具,wxPython是wxWidgets的Python包装器,并且非常易于使用。


我真的很喜欢Qt。现在已经在多个项目中使用它。

尽管我目前正在从事的项目仅针对Windows发布,但我们的一些开发人员使用gcc在Mac OS X下进行了编码。使用不同的编译器和环境是查找错误和错误的额外好处。

我忘了提到Qt的文档非常好,其中包括许多实用示例,可??帮助您快速入门。


我已经专业地使用了wxWidgets和QT。两者肯定都能满足您的目标。哪一个最容易很难说。您没有告诉我们您是否正在寻找易于使用或易于学习的东西。对于大型程序,Qt更容易。 WxWidgets更易于学习。这在很大程度上是由于QT中的信号/时隙机制,对于大型应用而言,这是一个很好的但非直观的体系结构。

这两个库实际上都非常好,我也推荐将它们用于非跨平台编程。


与其他海报一样,我强烈建议您查看C ++工具包。 GTK可以在Windows和Mac OS上运行,但只能在Linux上给您真正好的效果。甚至有些GTK维护者也在发明自己的面向对象的C语言,以避免针对本地GTK API编写GUI。

至于C ++,这取决于您想要什么。发展容易吗?每个平台上的本机GUI?商业支持?

如果要在Win32和Linux(在Mac上是半合理的东西)上具有本机外观的GUI,wxWidgets是一个很好的选择。这是一篇有关wxWidgets实际经验的较长文章。自2002年撰写该文章以来,Mac端口已得到了很大的改进,但仍然有一些问题。


我们在谈论GUI小部件吗?如果是这样,我可以建议3

FLTK:

http://www.fltk.org/

GTK:

http://www.gtk.org/

QT:

http://trolltech.com/products/qt/


最容易编写新程序的就是您最熟悉的程序。
最容易使用,测试或分发的可能是跨平台最多,分发最多或受支持最多的平台,所以GTK + / wx / Qt / Tk?

请注意,C本身并不是一种特别容易的语言,尤其是随着GUI的面向对象方法的发展。

最容易用脚本语言编写原型,然后转换为已编译原型的方法可能是任何具有脚本语言绑定的工具包(pyGTK,wxPython等)。

话虽这么说,但在"大型"中,只有GTK +和Tk具有C绑定。 wxWidgets,Qt和FLTK都是用C ++编写的,据我所知没有任何C绑定。

我建议您研究C ++,然后比较可用的选项。使用C ++进行编码可能感觉像是使用脚本语言进行编码非常方便,例如自动指针,实用工具类和重载运算符,非侵入式垃圾收集器以及易于继承的父类,这些都由该语言本身和您的小部件工具箱所触手可及。

然后我的个人建议是wxWidgets;它非常易于使用,比GTKmm有更好的文档记录,比Qt更"自由"。


推荐阅读

    linux运行图形界命令?

    linux运行图形界命令?,系统,密码,地址,电脑,图形界面,地方,工具,界面,终端,

    linux怎样运行命令?

    linux怎样运行命令?,系统,工作,信息,基础,地址,命令,目录,工具,密码,一致,Lin

    linux编译完运行命令?

    linux编译完运行命令?,系统,代码,环境,工具,信息,命令,文件,程序,终端,编辑,

    linux命令程序运行?

    linux命令程序运行?,状态,系统,服务,情况,命令,进程,软件,数据,发行,时间,Lin

    linux命令查看接口?

    linux命令查看接口?,系统,设备,地址,网络,信息,电脑,软件,情况,命令,灵活,lin

    linux运行脚本命令?

    linux运行脚本命令?,系统,代码,服务,文件,工具,平台,网站,脚本,命令,方法,Lin

    linux命令后加运行?

    linux命令后加运行?,状态,暂停,工具,单位,进程,环境,网络,系统,权威,第一,mv

    ssh运行linux命令?

    ssh运行linux命令?,地址,服务,系统,软件,工具,电脑,网络,密码,名称,命令,在li

    linux运行多个命令?

    linux运行多个命令?,环境,软件,系统,工作,服务,连续,命令,指令,分号,冲突,lin

    linux运行命令查看?

    linux运行命令查看?,系统,信息,状态,命令,名称,情况,地址,软件,进程,第一,lin

    linux中命令运行软件?

    linux中命令运行软件?,软件,系统,名称,工具,电脑,位置,环境,中心,在线,初级,

    脚本linux上运行命令?

    脚本linux上运行命令?,工具,代码,时间,密码,系统,环境,名字,位置,第三,下来,t

    linux运行命令的脚本?

    linux运行命令的脚本?,系统,服务,工具,脚本,意外,技术,分析,文件,方法,命令,s

    linux影藏运行命令?

    linux影藏运行命令?,档案,电脑,标准,设备,代码,工具,系统,查询系统,暂停,命

    linux运行脚本的命令?

    linux运行脚本的命令?,系统,工具,代码,服务,脚本,状态,密码,环境,位置,暂停,l

    linux命令行运行中断?

    linux命令行运行中断?,连续,工作,系统,信息,程序,命令,设备,工具,网络,情况,L

    vim运行linux命令?

    vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linu

    linux下并行运行命令?

    linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

    jar运行命令linux?

    jar运行命令linux?,项目,系统,平台,工具,上期,命令,选项,日志,文件名,目录,Li