可用的 GTK 4.6 图形工具包

经过四个月的开发,用于创建图形用户界面的多平台工具包 - GTK 4.6.0 - 已经发布。 GTK 4 正在作为新开发流程的一部分进行开发,该流程试图为应用程序开发人员提供稳定且受支持的 API,可以使用多年,而不必担心由于下一个 GTK 中的 API 更改而必须每六个月重新制作应用程序分支。

GTK 4.6 中一些最显着的改进包括:

  • 旧的基于 OpenGL 的渲染引擎已被删除,取而代之的是新的 NGL 渲染引擎,从 GTK 4.2 开始默认提供,它提供了更好的性能。 NGL 更名为 GL。纹理加载代码已被重写,对图像格式和颜色空间的支持已得到改进。
  • 与计算元素大小和小部件布局相关的代码已进行了重大修改。以前,GtkWidget::halign 和 GtkWidget::valign 属性基于放置元素时的默认小部件大小,当在区域填充模式下仅指定一种大小时,可能会导致元素占用额外的空间。 GTK 4.6 引入了测量相对于彼此缺失的尺寸的功能(例如,如果指定了宽度,则放置可以考虑可用的高度),从而允许小部件变得更薄,而不占用不必要的空间。
    可用的 GTK 4.6 图形工具包
    可用的 GTK 4.6 图形工具包
  • GtkBox 小部件能够计算子元素的单独大小。以前,空间是根据子控件的默认大小在子控件之间平均分配的,而 GTK 4.6 现在在输出时会考虑子控件的实际大小。
  • GtkLabel 小部件支持任意行数的文本换行,允许您创建占用可用垂直空间的窄标签。
  • GtkWindow 类添加了调整最小尺寸到宽高比的功能,这使您可以任意调整窗口大小而不必担心窗口太小。添加了“Window.titlebar”属性。
  • 如果小部件返回不正确的尺寸,则添加了有关尺寸不匹配的新警告。 Gtk-CRITICAL **:00:48:33.319:gtk_widget_measure:断言“for_size >=最小相反尺寸”失败:23>=42
  • GtkTextView 小部件现在支持右对齐或中心对齐选项卡。添加了对文本转换和行高注意事项的支持。改进了滚动到指定标签的操作。改进了撤消更改的处理。解决了从剪贴板粘贴文本并选择显示表情符号粘贴界面的位置时出现的问题。
  • GtkMenuButton 小部件提供了定义其自己的子元素的能力。
  • GtkBuilder 中的模板预编译得到了加速。
  • 添加了激活信号来激活 GtkComboBox 和 GtkDropDown 小部件。
  • 将 show-arrow 属性添加到 GtkDropDown 小部件以控制是否显示箭头。
    可用的 GTK 4.6 图形工具包
  • 向 GtkPopoverMenu 添加了 use-markup 属性,以在菜单文本中使用 Pango 标记。
  • 样式系统支持用于显示小写大写字母的 CSS 属性 font-variant-caps 和用于转换文本的 text-transform 属性。
  • 添加了 GtkSymbolicPaintable 接口来控制符号图标的颜色。
  • 检查界面中添加了对跟踪拖放操作的支持,显示了当前输入模块,添加了剪贴板内容查看器,实现了用于可视化 gtk_widget_measure() 的图形,并能够记录事件已提供。向 gtk4-node-editor 实用程序添加了对拖放模式的支持。
  • 对于 Wayland,已实施一项设置来激活高对比度模式。添加了对 wl_seat v7 协议的支持。
  • 添加了 gtk-hint-font-metrics 设置以使文本渲染更接近 GTK3 行为。
  • 对于基于 X11 的系统,添加了对触摸板控制手势的支持(使用 XInput 2.4 时)并改进了窗口标题拖动行为。
  • GDK 库在 GTK 和图形子系统之间提供了一个层,改进了对 OpenGL 和 OpenGL ES 版本的检查。添加了对 HSL 颜色空间的支持。加载纹理和处理图像格式时,直接涉及libpng、libjpeg和libtiff库。 EGL 初始化代码已移至前端。添加了新的 API:gdk_texture_new_from_bytes、gdk_texture_new_from_filename、gdk_texture_download_float、gdk_texture_save_to_png_bytes、gdk_texture_save_to_tiff、gdk_texture_save_to_tiff_bytes 和 gdk_display_create_gl_context。
  • Git 存储库中的“master”分支已重命名为“main”。

来源: opennet.ru

添加评论