Toga 0.5.0 发布:跨平台GUI工具包的全面升级
Toga 是一个基于 Python 的跨平台原生 GUI 工具包,它允许开发者使用相同的代码库为多个平台(包括 Windows、macOS、Linux、iOS、Android 和 Web)构建应用程序。Toga 的设计哲学是"一次编写,到处运行",同时保持每个平台的原生外观和感觉。
主要新特性
布局与样式增强
Toga 0.5.0 在布局和样式方面带来了多项重要改进:
-
新增 justify_content 属性:这个样式属性允许开发者沿盒子的主轴对齐子元素,提供了更灵活的布局控制。
-
间隙(gap)属性:现在可以在相邻的子元素之间添加空间,这对于创建整洁的界面布局非常有用。
-
简化的行和列创建:新增了
toga.Row
和toga.Column
作为toga.Box(style=Pack(direction=...))
的快捷方式,使代码更加简洁。 -
样式属性直接访问:现在可以直接在控件构造函数中传递样式属性,或者作为属性访问,无需显式使用样式对象。
-
边距属性改进:
Pack.margin
属性(及其已弃用的别名padding
)现在可以通过括号表示法访问,如style["margin"]
。
窗口管理增强
-
窗口状态控制:应用现在可以检测和设置窗口状态,包括最大化、最小化、正常、全屏和演示模式。
-
窗口焦点和可见性响应:窗口现在可以响应焦点和可见性的变化。
-
演示模式重命名:为避免与窗口全屏模式混淆,"应用全屏模式"已更名为"演示模式",相关API也相应更新。
平台特定改进
-
GTK4实验性支持:新增了对GTK4的初步实验性支持,可通过设置环境变量
TOGA_GTK=4
启用。 -
Android相机方向:Android相机现在可以描述它们面对的方向(如果已知)。
-
GTK位置服务:Toga GTK现在通过集成GeoClue和XDG位置门户支持位置服务。
-
WebView增强:
WebView
控件现在支持cookie的检索。 -
跨平台透明背景:在WinForms和iOS上,多个控件现在默认具有透明背景。
重要变更与兼容性说明
-
样式属性重命名:Pack的
padding
和alignment
属性已分别重命名为margin
和align_items
,以匹配CSS标准。旧名称仍然可用但已弃用。 -
窗口状态限制:
show()
和hide()
API现在不能在窗口处于MINIMIZED
、FULLSCREEN
或PRESENTATION
状态时使用。 -
生成器事件处理程序弃用:使用生成器作为事件处理程序的方式已被弃用,建议改用异步协程。
-
实现创建方式变更:小部件现在通过
_create()
方法创建和返回它们的实现,这对自定义小部件的开发方式有影响。 -
Travertino库变更:作为Toga样式系统基础的Travertino库现在由Toga发布流程管理,并带来了一些API变更。
性能与稳定性改进
-
内存泄漏修复:iOS后端的小部件在销毁时不再泄漏内存。
-
DPI缩放改进:Windows上的DPI缩放问题已得到显著改善。
-
布局优化:如果窗口大小在调整大小请求后未改变,将不再触发窗口内容的布局。
-
Android原生外观保留:在Android上设置自定义背景颜色现在会保留原生外观和感觉。
文档与示例增强
-
教程扩展:教程3已扩展,解释了浏览器示例的限制并建议了一些扩展活动。
-
API设计原则:新增了Toga API设计原则的总结文档。
-
Web后端截图:为Web后端添加了小部件截图。
总结
Toga 0.5.0 是一个重要的版本更新,带来了大量新功能、改进和错误修复。从布局控制的增强到窗口管理的完善,再到各平台特定功能的提升,这个版本使Toga成为一个更加强大和易用的跨平台GUI开发工具。对于现有用户,需要注意一些向后不兼容的变更,特别是样式系统相关的重命名和实现创建方式的调整。新用户则可以从更直观的API和更完善的文档中受益。
随着GTK4支持的引入和各平台特性的持续完善,Toga正朝着成为Python生态中最全面的跨平台GUI解决方案之一稳步前进。
- DDeepSeek-V3.1-BaseDeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型Python00
- QQwen-Image-Edit基于200亿参数Qwen-Image构建,Qwen-Image-Edit实现精准文本渲染与图像编辑,融合语义与外观控制能力Jinja00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~042CommonUtilLibrary
快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、StarJava04GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。06GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!C0298- WWan2.2-S2V-14B【Wan2.2 全新发布|更强画质,更快生成】新一代视频生成模型 Wan2.2,创新采用MoE架构,实现电影级美学与复杂运动控制,支持720P高清文本/图像生成视频,消费级显卡即可流畅运行,性能达业界领先水平Python00
- GGLM-4.5-AirGLM-4.5 系列模型是专为智能体设计的基础模型。GLM-4.5拥有 3550 亿总参数量,其中 320 亿活跃参数;GLM-4.5-Air采用更紧凑的设计,拥有 1060 亿总参数量,其中 120 亿活跃参数。GLM-4.5模型统一了推理、编码和智能体能力,以满足智能体应用的复杂需求Jinja00
Yi-Coder
Yi Coder 编程模型,小而强大的编程助手HTML013
热门内容推荐
最新内容推荐
项目优选









