用python构建富用户界面的声明性dsl

enaml的Python项目详细描述


欢迎使用enaml
==图片::https://travis-ci.org/nucleic/enaml.svg?branch=master
:目标:https://travis ci.org/nucleic/enaml
:alt:build status
…图片::https://ci.appveyor.com/api/projects/status/p2bapt3y6n7xixcl?svg=true
:目标:https://ci.appveyor.com/project/nucleic/enaml
:alt:appveyor生成状态
。图片::https://readthedocs.org/projects/enaml/badge/?version=latest
:目标:http://enaml.readthedocs.io/en/latest/?徽章=最新
:alt:文档状态
…图像::https://img.shields.io/pypi/v/enaml.svg
:目标:https://pypi.org/project/enaml/
:alt:pypi version
…图像::https://codecov.io/gh/nucleic/enaml/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/nucleic/enaml
:alt:code coverage status


enaml是一种编程语言和框架,用于创建专业质量的用户界面。

你得到的是一种声明式编程语言,带有pythonic的味道。
*几十个小部件,随时可以开箱即用(构建在`qt<;https://www.qt.io/>;``uu上)。
*一个基于约束的布局引擎(构建在`kiwi<;https://github.com/nucleic/kiwi>;`。
*与数据模型工具的集成(构建在"atom<;https://github.com/nucleic/atom>;"之上)。
*一个(可选)编辑器,允许您在键入代码时查看结果的外观。
*一个文档丰富且易于使用的代码库,再加上有大量工作实例的文档。
*许多流行编辑器的语言定义。

+请看一眼图形用户界面的结构。

-让您快速地原型化新的图形用户界面。

+使用符号约束智能地布局图形用户界面。
+它自动适应不同的平台、不同的窗口大小。
+告诉布局引擎布局的优先级,而不必计算像素。

-鼓励易于维护的代码:

+gui可以检测模型中的更新,自动刷新它的小部件,不需要低级代码。
+在模型和视图之间保持清晰的分离,同时保持控制器代码的简单。

*您可以将python代码直接合并到视图层中。
*随着gui设计的发展,约束引擎可以调整布局。
*面向对象的设计允许您在项目的其他部分中重用部分gui。

-允许您根据自己的特殊需要自定义gui。

+与python代码集成。
+包括样式表以更改所有或部分的外观,快速开发应用程序。
+扩展可用的小部件或构建自己的小部件。

支持的版本
==
enaml应用程序可以在任何支持python(2.7、3.4、3.5和3.6)和'qt<;https://doc.qt.io/qt-5/supported platforms.html>;的平台上运行;`(版本4或5)。

这包括linux、windows、macos、android和ios。(enaml的自动测试在Linux上运行。)

enaml是根据"修改的BSD许可证"获得许可的,lt;https://github.com/nucleic/enaml/blob/master/license>;` `.


了解更多信息
==
《入门》http://enaml.readthedocs.io/en/latest/get-started/index.html>;`第一章是学习更多知识的第一步。它包括"安装说明<;http://enaml.readthedocs.io/en/latest/get-started/installation.html>;` `.

图片::https://img.youtu be.com/vi/ycfewz_haxk/2.jpg
:target:https://youtu.be/ycfewz_haxk
`s.chris colbert(@sccolbert)在entho上展示风度2012。<;https://www.youtube.com/watch?V=YCFEWZ_haxk>;` ` `

…图片::https://img.youtube.com/vi/g5zyugl7uto/1.jpg
:目标:https://www.youtube.com/watch?v=g5zyugl7uto
`Tom Stordy Allison(@tstordyallison)在2016年英国Pycon大会上亮相。<;https://www.youtube.com/watch?v=g5zyugl7uto>;`

`enaml documentation<;http://enaml.readthedocs.io/en/latest>;```包含所有详细信息,包括"有用的示例<;http://enaml.readthedocs.io/en/latest/examples>;```.

http://groups.google.com/d/forum/enaml>;`
或带有"stackoverflow上的enaml标记"<;https://stackoverflow.com/questions/taged/enaml>;`` `.

有关版本信息,请参阅"发行说明"<;https://github.com/nucleic/enaml/blob/master/releaseNotes.rst>;`.

示例
=
"enaml文档"lt;http://enaml.readthedocs.io/en/latest>;```包括许多"完全正常工作的代码示例"`http://enaml.readthedocs.io/en/latest/examples/index.html>;``如何使用enaml。它们的范围从"如何使用小部件的简单演示<;http://enaml.readthedocs.io/en/latest/examples/ex_progress_bar.html>;```到高级探索enaml gui的可定制性。


employee tutorial
~~~~~~~~~~~~~~~~~~~
employee tutorial<;http://enaml.readthedocs.io/en/latest/examples/tut_employee.html>;``显示如何使用约束和验证器创建易于使用且看起来专业的应用程序:

…图片::http://enaml.readthedocs.io/en/latest/\u images/tut廑employee廑layout.png
:目标:http://enaml.readthedocs.io/en/latest/examples/tut廑employee.html

button ring
~~~~~~~~~~~~~~
button ring example<;https://enaml.readthedocs.io/en/latest/examples/ex_button_ring.html>;``相反。其结果既不专业,也不易于使用,但它显示了基于约束的布局的强大和灵活性-这可能是愚蠢的,但这无法在典型的布局系统中实现。

……图片::http://enaml.readthedocs.io/en/latest/\u images/ex廑button廑ring.png
:目标:https://enaml.readthedocs.io/en/latest/examples/ex廑button廑ring.htm

停靠项警报示例<;https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html>;``显示了名称应用程序外观的一些可定制性。此应用程序的外观基于Visual Studio 2010样式,具有可停靠项,但根据所显示警报的重要性有一些自定义设置。

。图片::http://enaml.readthedocs.io/en/latest/-images/ex-dock-item-alerts.png
:目标:https://enaml.readthedocs.io/en/latest/examples/ex-dock-item-alerts.html

查看"文档"lt;http://enaml.readthedocs.io/en/latest/examples/index.html>;`。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android同步不同页面上的按钮   java评测每个类收集的垃圾对象实例数   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java Android编辑文本和虚拟键盘   java Selenium与BrowserMobProxy   JAVAlang.NoClassDefFoundError:com/sun/jersey/spi/inject/Errors$关闭原因?   java为什么在我成功登录后仍然会出现“不正确的帐户或密码或用户类型”   安卓应用程序在重新启动java时崩溃。网UnknownHostException:无法解析主机   多线程在Java中同步共享静态对象的正确方法是什么?   未调用自定义注释的java类验证(约束类)   java如何将指定目录的存档文件放入所需位置?   java如何识别Selenium中的每个编辑文本字段,如果它们的Xpath都相同   使用gwtmockito/mockito的java简单单选按钮单元测试?