图形用户界面属性#

class arcade.gui.DictProperty[源代码]#

基类:Property

表示词典的属性。只允许使用DICT。任何其他课程都是禁止的。

set(instance, value: dict)[源代码]#
default_factory#
name: str#
obs: WeakKeyDictionary[Any, _Obs]#
class arcade.gui.ListProperty[源代码]#

基类:Property

表示列表的属性。仅允许使用列表。任何其他课程都是禁止的。

set(instance, value: dict)[源代码]#
default_factory#
name: str#
obs: WeakKeyDictionary[Any, _Obs]#
class arcade.gui.Property(default: P | None = None, default_factory: Callable[[Any, Any], P] | None = None)[源代码]#

基类:Generic[P]

当改变时触发观察者的一种可观察的属性。

    def log_change(instance, value):
        print("Something changed")

    class MyObject:
        name = Property()

    my_obj = MyObject()
    bind(my_obj, "name", log_change)
    unbind(my_obj, "name", log_change)

    my_obj.name = "Hans"
    # > Something changed

:param default: Default value which is returned, if no value set before
:param default_factory: A callable which returns the default value.
                        Will be called with the property and the instance
bind(instance, callback)[源代码]#
dispatch(instance, value)[源代码]#
get(instance) P[源代码]#
set(instance, value)[源代码]#
unbind(instance, callback)[源代码]#
default_factory#
name: str#
obs: WeakKeyDictionary[Any, _Obs]#
arcade.gui.bind(instance, property: str, callback)[源代码]#

将函数绑定到属性的Change事件。对该函数的引用将被保留,因此它仍将被调用,即使它通常会被垃圾收集。

定义LOG_CHANGE(实例,值):

Print(f“{实例}的值已更改为{值}”)

类MyObject:

名称=属性()

My_obj=MyObject()绑定(my_obj,“name”,log_change)

My_obj.name=“Hans”#>的值 <__main__. 我的对象...>已更改为Hans

参数:
  • instance -- 拥有该属性的实例

  • property -- 物业名称

  • callback -- 要调用的函数

返回:

arcade.gui.unbind(instance, property: str, callback)[源代码]#

将函数从属性的更改事件中解除绑定。

定义LOG_CHANGE(实例,值):

Print(“有所改变”)

类MyObject:

名称=属性()

My_obj=MyObject()绑定(my_obj,“name”,log_change)un绑定(my_obj,“name”,log_change)

My_obj.name=“Hans”#>发生了一些变化

参数:
  • instance -- 拥有该属性的实例

  • property -- 物业名称

  • callback -- 用于解除绑定的函数

返回: