wxWidgets 3.2.0 图形工具包发布

9 分支发布 3.0 年后,跨平台工具包 wxWidgets 3.2.0 的新稳定分支的第一个版本发布,它允许您为 Linux、Windows、macOS、UNIX 和移动平台创建图形界面。 与3.0分支相比,API级别存在许多不兼容性。 该工具包是用 C++ 编写的,并根据免费的 wxWindows 库许可证分发,并得到了开源基金会和 OSI 组织的批准。 该许可证基于 LGPL,其特点是允许使用自己的条款以二进制形式分发衍生作品。

除了用 C++ 开发程序之外,wxWidgets 还提供对大多数流行编程语言的绑定,包括 PHP、Python、Perl 和 Ruby。 与其他工具包不同,wxWidgets 通过使用系统 API 而不是模仿 GUI,为目标系统提供了具有真正本机外观的应用程序。

主要创新:

  • wxQt 的新实验端口已经实现,允许 wxWidgets 在 Qt 框架之上工作。
  • wxGTK 端口提供对 Wayland 协议的全面支持。
  • 添加了对高像素密度(高 DPI)屏幕的支持。 添加了为不同显示器分配不同 DPI 并动态更改 DPI 的功能。 已经提出了一种新的 wxBitmapBundle API,它允许您作为一个整体来操作以不同分辨率呈现的位图图像的多个版本。
  • 提出了一种基于 CMake 的新构建系统。 汇编系统中添加了对新编译器(包括 MSVS 2022、g++ 12 和 clang 14)和操作系统的支持。
  • OpenGL 支持已重新设计,新 OpenGL 版本 (3.2+) 的使用已得到改进。
  • 添加了对 LZMA 压缩和 ZIP 64 文件的支持。
  • 由于能够禁用 wxString 和“char*”类型字符串之间危险的隐式转换,编译时保护得到了增强。
  • 添加了对使用鼠标控制手势的事件支持。
  • wxFont 和 wxGraphicsContext 类现在能够在定义字体大小和画笔宽度时指定非整数值。
  • wxStaticBox 类实现了为窗口分配任意标签的能力。
  • wxWebRequest API 现在支持 HTTPS 和 HTTP/2。
  • wxGrid 类添加了对冻结列和行的支持。
  • 引入了新的类:wxActivityIndi​​cator、wxAddRemoveCtrl、wxAppProgressIndicator、wxBitmapBundle、wxNativeWindow、wxPersistentComboBox、wxPowerResourceBlocker、wxSecretStore、wxTempFFile 和 wxUILocale。
  • 已为所有新类和一些现有类实现了新的 XRC 处理程序。
  • 引入了新方法:wxDataViewToggleRenderer::ShowAsRadio()、wxDateTime::GetWeekBasedYear()、wxDisplay::GetPPI()、wxGrid::SetCornerLabelValue()、wxHtmlEasyPrinting::SetPromptMode()、wxJoystickEvent::GetButtonOrdinal()、wxListBox::Get TopItem()、wxProcess::Activate()、wxTextEntry::ForceUpper()、wxStandardPaths::GetUserDir()、wxToolbook::EnablePage()、wxUIActionSimulator::Select()。
  • 对 wxBusyInfo、wxDataViewCtrl、wxNotificationMessage、wxStaticBox、wxStyledTextCtrl 和 wxUIActionSimulator 类进行了重大改进。
  • 对 macOS 平台的支持得到了改进,包括使用深色主题的能力以及增加了对运行 ARM 处理器的设备的支持。
  • 已进行改进以支持 C++11 标准。 添加了对使用 C++20 编译器进行构建的支持。
  • 所有包含的第三方库均已更新。 添加了对 WebKit 2 和 GStreamer 1.7 的支持。

来源: opennet.ru

添加评论