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第三方库


热门话题
Android Studio Java将输入存储在一个文本文件中,所有输入在一行中加载后显示在屏幕上   在我的Java应用程序中记录日志配置   java在将socket从Localhost构建到google时出错。通用域名格式   在java中通过SOAP发送附件   java Tomcat的JspWriter编码不正确   java应用程序在截击StringRequest时不断崩溃   java需要一个保持顺序并具有“顺序敏感”equals/hashCode的映射   Java框架地址栏元素   java如何从特定范围生成4个不重复的数字?   googleappenginejava。安全AccessControlException:拒绝访问(java.io.FilePermission)   加载游戏时java Fabric入口点异常崩溃   java Python我如何读入和读出,以便其他读者可以阅读它以便进一步购买?