跳转到主要内容

用于在Python中构建丰富用户界面的声明式DSL

项目描述

欢迎使用Enaml

https://github.com/nucleic/enaml/workflows/Continuous%20Integration/badge.svg Appveyor Build Status Code Coverage Status https://github.com/nucleic/enaml/workflows/Documentation%20building/badge.svg Documentation Status PyPI version

Enaml是一种编程语言和框架,可以以最小的努力创建专业品质的用户界面。

您将获得什么

  • 一种声明式编程语言,具有Python风格。

  • 数十种小部件,开箱即用(基于Qt)。

  • 基于约束的布局引擎(基于Kiwi)。

  • 与数据模型工具的集成(基于Atom)。

  • 一个(可选)编辑器,允许您在键入代码时查看结果的外观。

  • 一个文档齐全且易于遵循的代码库,以及包含大量实例的文档。

  • 适用于多个流行编辑器的语言定义。

它能为您做什么

  • 为各种平台构建本机GUI应用程序。

    • 快速简单或复杂专业。

    • 一目了然地看到您的GUI结构。

  • 让您快速原型设计新的GUI界面。

    • 使用符号约束智能布局GUI。

    • 它自动适应不同平台和不同窗口大小。

    • 告诉布局引擎您对布局的优先级,无需计算像素。

  • 鼓励编写易于维护的代码。

    • GUI可以检测模型中的更新,并自动刷新小部件,而无需低级代码。

    • 在保持控制器代码简单的同时,在模型和视图之间进行清晰的分离。

      • 您可以直接在视图层中嵌入Python代码。

      • 随着GUI设计的演变,约束引擎可以适应布局。

      • 面向对象的设计允许您在其他项目部分重用GUI的部分。

  • 让您根据特定需求自定义GUI。

    • 与Python代码集成。

    • 包含样式表,可快速更改应用程序的外观。

    • 扩展现有小部件或构建您自己的小部件。

支持版本

Enaml应用程序可以在支持Python(3.6+)的任何平台上运行。Qt后端需要Qt(5.9+),请参阅https://doc.qt.ac.cn/qt-5/supported-platforms.html

包括Linux、Windows、MacOSX、Android和iOS。(Enaml的自动化测试在Linux、Windows和MacOSX上运行。)

Enaml根据修改后的BSD许可证授权。

了解更多信息

入门章节是学习更多知识的良好起点。它包括安装说明

观看一些关于Enaml及其功能的介绍性演讲

https://img.youtube.com/vi/ycFEwz_hAxk/2.jpg

S. Chris Colbert (@sccolbert) 在2012年Enthought大会上进行演讲。

https://img.youtube.com/vi/G5ZYUGL7uTo/1.jpg

Tom Stordy-Allison (@tstordyallison) 在2016年Pycon UK大会上进行演讲。

Enaml文档包括所有详细信息,包括有用的示例

您可以在Enaml Google Group或使用StackOverflow上的Enaml标签上提问。

有关版本信息,请参阅发布说明

示例

Enaml文档包括许多如何使用Enaml的完整功能的代码示例。它们从小部件使用的简单演示到对Enaml GUI可定制性的高级探索。

员工教程

员工教程展示了如何使用约束和验证器创建易于使用且外观专业的应用程序。

http://enaml.readthedocs.io/en/latest/_images/tut_employee_layout.png

按钮环

按钮环示例展示了另一种方法。结果是既不专业也不易用,但它展示了基于约束的布局的强大和灵活性——这可能是愚蠢的,但这是典型的布局系统无法实现的。

http://enaml.readthedocs.io/en/latest/_images/ex_button_ring.png

浮动项警报

《停靠项警报示例》(https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html)展示了 Enaml 应用程序外观的可定制性。该应用程序的外观基于 Visual Studio 2010 风格,具有可停靠项,但基于显示警报的重要性进行了一些定制。

http://enaml.readthedocs.io/en/latest/_images/ex_dock_item_alerts.png

查看更多示例,请参阅文档

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

enaml-0.17.0.tar.gz (8.1 MB 查看哈希值)

上传时间

构建分发

enaml-0.17.0-cp312-cp312-win_amd64.whl (699.4 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

enaml-0.17.0-cp312-cp312-win32.whl (690.1 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86

enaml-0.17.0-cp312-cp312-musllinux_1_1_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ x86-64

enaml-0.17.0-cp312-cp312-musllinux_1_1_i686.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ i686

enaml-0.17.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

enaml-0.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

enaml-0.17.0-cp312-cp312-macosx_10_9_x86_64.whl (677.1 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.9+ x86-64

enaml-0.17.0-cp311-cp311-win_amd64.whl (698.3 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86-64

enaml-0.17.0-cp311-cp311-win32.whl (689.0 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86

enaml-0.17.0-cp311-cp311-musllinux_1_1_x86_64.whl (1.7 MB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ x86-64

enaml-0.17.0-cp311-cp311-musllinux_1_1_i686.whl (1.8 MB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ i686

enaml-0.17.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

enaml-0.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

enaml-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl (675.4 kB 查看哈希值)

上传时间: CPython 3.11 macOS 10.9+ x86-64

enaml-0.17.0-cp310-cp310-win_amd64.whl (698.4 kB 查看哈希值)

上传时间: CPython 3.10 Windows x86-64

enaml-0.17.0-cp310-cp310-win32.whl (689.0 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

enaml-0.17.0-cp310-cp310-musllinux_1_1_x86_64.whl (1.7 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

enaml-0.17.0-cp310-cp310-musllinux_1_1_i686.whl (1.7 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

enaml-0.17.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

enaml-0.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

enaml-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl (675.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

enaml-0.17.0-cp39-cp39-win_amd64.whl (698.6 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

enaml-0.17.0-cp39-cp39-win32.whl (689.0 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

enaml-0.17.0-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

enaml-0.17.0-cp39-cp39-musllinux_1_1_i686.whl (1.7 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

enaml-0.17.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

enaml-0.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

enaml-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl (675.4 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

enaml-0.17.0-cp38-cp38-win_amd64.whl (698.6 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

enaml-0.17.0-cp38-cp38-win32.whl (689.1 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86

enaml-0.17.0-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.8 musllinux: musl 1.1+ x86-64

enaml-0.17.0-cp38-cp38-musllinux_1_1_i686.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.8 musllinux: musl 1.1+ i686

enaml-0.17.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

enaml-0.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

enaml-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl (675.4 kB 查看哈希值)

上传时间 CPython 3.8 macOS 10.9+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面