python appscript模块 - 创建k.类型对象

0 投票
1 回答
510 浏览
提问于 2025-04-16 13:06

我正在学习并享受appscript模块,但对如何创建基本的k.类型对象有点困惑。

比如说,如果我想创建一个变量来保存k.boolean值,以便在编写应用程序脚本时使用,我该怎么做?然后再把它传递给该应用程序中某个属性的set()方法?

假设我在编写Adobe Illustrator的脚本:

il = app('Adobe Illustrator')
doc = il.current_document.get()
layers = doc.layers.get()
layer = layers[1]

在Illustrator中,一个图层对象有一个属性layer.visible,这个属性是k.boolean类型的。

我该如何创建一个变量m,使它是k.boolean类型,这样:

layer.visible.set(m)

就可以把.visible属性设置为一个不同的k.boolean值?

m = k.boolean(True) # doesn't work
m = make(new k.boolean) # doesn't work

1 个回答

2

Appscript会在内部将Python的数据类型转换成Apple事件类型,所以你可以直接使用普通的Python bool 变量:

让图层可见:

flag = True
layer.visible.set(flag)

切换图层的显示与隐藏:

flag = not layer.visible.get()
layer.visible.set(flag)

Python类型与Apple事件类型的对应关系 可以在这里找到

撰写回答