c++ - GTK 3.x 是真正的跨平台解决方案吗?

标签 c++ gtk cross-platform gtkmm gtk3

我尝过 Qt 4.x/5.x 和 GTKmm 3.x,我真的更喜欢 GTKmm 而不是 Qt。

现在我刚刚发现 GTKmm 3.x 不提供 Windows 移植,他们也不提供 Mac 移植,基本上除了 Linux 的库/源/二进制文件我什么也找不到。 显然,Windows 支持(我不确定 Mac OS 的情况)在 2.x 时代就被放弃了,而且今天仍然不存在。

出于特定原因,我计划使用 GTK 3.x,尤其是 3.x 分支引入的一些新功能,因此使用 GTK 2.x 是一个选项。

现在我问:Windows 和/或 Mac 对 GTK 3.x 的支持有什么新东西吗?有东西吗?甚至实验项目?

最佳答案

不,它不是 - 至少当你想为 future 做好准备时。 MacOSX 和 GTK 端口不够完美并且完全是自愿的,这意味着对于这种复杂性和规模的程序,它们并不是没有被积极开发。没有人关心在添加新功能之前先实现旧功能。

自 GTK3 发布将近 2 年以来,仍然没有正式的 Windows 二进制发行版。在一次 GNOME session 上,公开讨论了 GTK4 是否应该只用于 Linux。好吧,我猜他们指的是 Linux/BSD——但 Wayland 目前是纯粹的 Linux,而 BSD 确实缺乏桌面开发人员。

这应该足以吓到任何一个需要现实世界投资的严肃项目的人。

此外,我坚信跨平台 GUI 工具包已成为过去。抽象应用程序的 GUI 并针对每个平台进行开发。随着 AppStore 的成功,您将被迫越来越多地使用原生平台风格。如果您的应用看起来不一样,那么它已经被 Apple 的 AppStore 拒绝了。 Windows 现在强制执行 WinRT。做好准备,这在未来会变得更加重要。

所以要走的路是使用 native 小部件集的 WxWidgets。跳过 GTK

关于c++ - GTK 3.x 是真正的跨平台解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14079909/

相关文章:

c++ - 计算小数点后的小数位数

c++ - 使用 OpenCV C++ 查找已知对象

python - 在 GTK+ (linux) 中实现类似 facebook 的模式对话框

python - Ruby GTK 失败无显示(Python 还可以)

qt - 每个平台的默认文件位置?

c# - 错误 CS0234 命名空间 'Xamarin.Forms.Platform 中不存在类型或命名空间名称 'Android'

c++ - 适用于 Windows/Linux/Mac 的 C++ 和 G++ 纯 GUI 应用程序

c++ - 不允许在类定义之外覆盖

c++ - 用不同的字符串(UVa 272 - Tex 引号)替换打开和关闭的代码不起作用

gtk - PyGtk:如何对与 CellRendererCombo 关联的列表存储中的项目进行排序