python中ui库上的抽象层

aui的Python项目详细描述


python aui

aui是python中用户界面上的抽象层。它旨在包装流行的ui库,使它们具有通用的api。

编写一次代码并导入不同的后端以使用不同的ui库呈现应用程序。

可用后端:

安装

pip install aui

示例应用程序

importaui_tkfromauiimportAppfromaui.widgetsimport(Button,Input,Label,HorizontalasH,VerticalasV)user_output=Label('output')user_input=Input()defset_output(value):user_output.text=valueui=V(H(Button('submit',onclick=lambda_button:set_output(user_input.value)),user_input),user_output)App(ui,title="Sample application").run()

如何使用

导入后端,用uirun创建一个Appui只是一个小部件(或嵌套的小部件):

fromauiimportAppfromaui.widgetsimportLabelimportaui_tkApp(Label('hi!')).run()

api

自动应用程序(ui,title)

  • uiWidget
    用作用户界面的小部件
  • titlestr
    应用程序标题

方法:

  • run()-> void
    运行应用程序

小部件:

所有小部件都可以从aui.widgets导入。

用户界面元素

aui.widgets.button(文本,onclick)

表示按钮

  • textstr
    按钮文本
  • onclickfunction: Button -> void(默认值:None
    按下按钮后调用的功能

其他属性:

  • 使用一次会使按钮变宽

aui.widgets.checkbox(文本、选定、更改)

表示复选框

  • textstr
    复选框文本
  • 已选定boolean(默认值:False
    是否在初始化时选中复选框
  • onchangefunction: Checkbox -> void(默认值:None
    切换复选框后调用的函数

aui.widgets.input(value,onenter)

表示单行输入字段

  • str(默认值:""
    默认值
  • onenterfunction: Input -> void(默认值:None
    按回车键后调用的函数

其他属性:

  • 使用一次会使输入更宽

aui.widgets.label(文本)

表示标签

  • textstr
    标签文本

aui.widgets.text(文本)

表示多行输入字段

  • 文本str(默认值:""
    小部件文本

容器

aui.widgets.horizontal(*children)

表示水平容器

  • *子项[Widget]
    要水平显示的小部件

方法:

  • append(小部件)Widget -> void
    将给定的小部件附加到容器中

aui.widgets.vertical(*children)

表示垂直容器

  • *子项[Widget]
    要垂直显示的小部件

方法:

  • append(小部件)Widget -> void
    将给定的小部件附加到容器中

惯例

UI代码(容器内容)应缩进编辑如下:

H(Button('button#1'),Label('label#1'),H(V(Checkbox('checkbox#1'),Button('button#2')),Text(),Input()))

如何贡献

  1. 实现更多后端(urwindncursesqtwxwidgetsgtkcocoa
  2. 讨论API
  3. 传播信息!;)

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

推荐PyPI第三方库


热门话题
JavaFX进度条从单独的函数更改而来   jvm使用java服务器选项   java在<li>元素中查找同名的最后一个链接   java问题将参数传递给不同公共类中的构造函数   如何在php中从java函数中获取字符串   java如何在Android中动态显示多个tile   java仅使用Ribbon而不使用任何服务注册表是否可以实现负载平衡?   Jersey 1.19版本的java Swagger JAXRS出现“冲突URI模板”错误   带H2数据库的java Spring boot jpa   从12:00:00到00:00:00的日期转换   Android中的java如何设置文本?   java密钥库“不支持的保护参数”   http使用Java在Java中发送httprequest。净包   SpringJava刷新数据库   java在Spring Boot应用程序中使用嵌入式MongoDb和MongoTemplate失败   java需要什么MatOfMatch对象?   xml使用Java中的合并算法将两个值合并为单个值   java SQLite数据库不保存数据为什么不工作