首页 / 知识
关于c ++:我应该使用跨平台的GUI工具箱还是依靠本机工具箱?
2023-04-13 14:47:00

Should I use a cross-platform GUI-toolkit or rely on the native ones?在担任程序员的同时,我要用C ++编写一个程序,以将音频文件与其他格式进行相互转换。 可能这将涉及构建简单的GUI。
使用Cocoa和WinForms而不是Qt或GTK之类的跨平台工具包来为Mac和Windows构建单独的GUI会是一项巨大的努力吗? 我一直觉得原生GUI比跨平台的弟兄感觉更直观... 如果您具有专业知识,请使用本机前端,它可以有效地将UI的工作量增加一倍,但根据我的经验,非本机UI会比其本机UI笨拙。 您看过wxWidgets了吗?跨平台本机控件。 跨平台工具包或多或少都错误地假设平台之间的差异是按钮位置和小部件样式的问题。在某些情况下,您可以避免使用它-Qt应用程序在Windows(UI习惯非常宽松)和Linux(尤其是KDE环境)上都感觉很原生。通常,您可以相对轻松地在Linux和Windows之间切换。约定相似,Windows社区对此并不严格。 Mac是最难的一种。它的UI是与Windows或大多数Linux环境完全不同的范例构建的。 但是,总的来说,在本机应用程序中,使用平台方式的本地语言比使用窗口小部件样式更容易。 我同意,如果可能的话,本机前端是可行的方法。我最近没有使用过wxWidgets,我听说它已经走了很长一段路,但是回到wxWindows时,我们就用它构建了一个应在X / Motif中构建的应用程序。当我们完成工作并将其交付时,客户表示它看起来不像X / Motif,因此我们不得不自费重新加工整个UI。JoelSpolsky在此方面写了一篇不错的文章,但是我可以不记得标题了。他所说的IIRC,是Java和其他一些跨平台UI的问题是"您的狗叫我的应用程序吠叫"-这是使人们烦恼的一点矛盾之处。
我将为此很快编写自己的跨平台应用程序GUI层。 原因是我们看到了平台供应商(首先是Apple)试图在此设计系统的趋势,以使其看起来独特。这使得QT,GTK,FOX和其他平台工具难以持续与最新的小部件保持同步。 当底层技术变得越来越相同时,操作系统供应商别无选择,然后在平台的外观和品牌上打上烙印。 是。 但是说真的,这取决于您的目标。我同意,本机UI库会付出很多努力,它们会带来更好的结果,但是对于许多应用程序来说,如果您采用现有的跨平台框架之一,那么非常基本的UI就足够了,而工作量却更少。 对于音频转换应用程序而言,也许从CLI开始并使其正常工作最有意义。 wxWidgets使用了标准的c ++语法和预处理器,因此可以轻松地从纯C或C ++进行更改。并将在GTK,X11,MS-Windows或Mac上产生非常原始的外观。
它自第一版发布20年以来就已经成熟,具有易于浏览的完整文档,并得到了世界各地大型社区的支持。 在Linux桌面上开发您的应用程序,还提供了Raspberry Pi2的编译器(目标应用程序在Raspbian Jessie上进行了测试)............ |
最新内容
相关内容
linux取本机ip命令?
linux取本机ip命令?,地址,网络,系统,信息,手机,设备,环境,电脑,终端,命令,linux查询ip地址命令输入以下命令:ipaddrshow。每个设备的IP地址位于linux看本机ip命令?
linux看本机ip命令?,地址,系统,网络,信息,终端,命令,手机,技术指标,传播,电脑,linux下如何查看某个网卡当前使用的IP。方法一:ethtool eth0 采linux命令行本机时间?
linux命令行本机时间?,时间,系统,信息,电脑,网络,大陆,图片,统一,国家,命令,linux查看系统时间命令1、linux中查看系统信息的命令是“uname”为什么企业很难招聘到好的python程
为什么企业很难招聘到好的python程序员?,企业,中小企业,工资,时间,培训,工程,公司,财力,人员,供给,原因有很多,其中几个主要原因如下:1、被人敬python中日期与字符串如何相互转换
python中日期与字符串如何相互转换?,时间,代码,培训,字符串,日期,格式,内容,数组,字符,本文,在python的使用过程中我们会发现,如果编程的格式python中实现字符与ascll码相互转
python中实现字符与ascll码相互转换方法,代码,培训,字符,函数,方法,实例,字符串,本文,以上,更多,在编程中,我们常常会给代码加密。如果是进行Python中字符串与二进制如何相互转
Python中字符串与二进制如何相互转换?,培训,字符串,对象,内容,版本,本文,以上,方法,更多,问题,我们在Python中会遇到很多转换的问题,例如需要pythonpython跨平台吗?
pythonpython跨平台吗?,平台,培训,代码,手机,项目,设计,语言,版本,终端,构架,python是跨平台的,免费开源的一门计算机编程语言。是一种面向对python跨平台的语言
python跨平台的语言,平台,代码,系统,培训,手机,庞大,密码,数据,软件,工作,python是跨平台的,免费开源的一门计算机编程语言。是一种面向对象的关于Windows:sqlite3-ruby gem:无法
关于Windows:sqlite3-ruby gem:无法构建gem本机扩展,关于Windows:sqlite3-ruby gem:无法构建gem本机扩展,损坏,更新,当我,这样做,sqlite3我可以使用Python编写本机iPhone应
我可以使用Python编写本机iPhone应用程序吗?,我可以使用Python编写本机iPhone应用程序吗?,应用程序,编写,适用于,您可以,Can I write n关于Java:跨平台Unicode支持
关于Java:跨平台Unicode支持,关于Java:跨平台Unicode支持,应用程序,数据库,支持,跨平台,cross platform unicode support我发现在我的