问题标签 [pyobjc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1347 浏览

python - PyObjC + Xcode 3.2 + 非苹果 Python

我想开始尝试使用 PyObjC 开发一些简单的应用程序。我安装了 PyObjC 和 Xcode 模板。我知道 PyObjC 本身可以工作,因为我已经成功运行了这个脚本。当我尝试从 Cocoa-Python 应用程序模板创建一个项目并运行它时,我收到了这个错误:

当我尝试打开一个普通的 Python 提示符并导入itertools时,没有错误。我在 Mac OS X 10.6 Snow Leopard 上使用来自 MacPorts 的 Python 2.6.4。

我会很感激任何帮助。

0 投票
1 回答
202 浏览

python - 使用 PyObjC 和 Core Data 操作表值

我最近开始使用 xCode 和 PyObjC 进行编程,并且正在尝试创建一个物流应用程序。我有一张桌子,上面有商店的物品,还有一张桌子,上面有费用。到目前为止,一切正常,只使用界面构建器将值链接到核心数据信息,我不必编写任何代码。现在的问题是我在费用表中有一个属性“成本”,用户不应输入该属性。相反,它必须在用户输入交易项目数量的情况下在内部计算。此外,我希望将这些项目的数量添加到存储中的项目数量中。
这是我的问题的图形视图
此外,如果当用户在“数字”列中输入一个值时这是可能的,那就太好了(摆脱“插入”按钮。提前非常感谢。

0 投票
3 回答
12173 浏览

cocoa - 如何在不使用 NSTreeController 的情况下获取 NSOutlineView 的选定项?

如何使用我自己的数据源获取 NSOutlineView 的选定项。我看到我可以获得 selectedRow 但它返回相对于大纲状态的行 ID。唯一的方法是跟踪项目的展开折叠状态,但这似乎很荒谬。

我希望有类似的东西:

我看了其他类似的问题,他们似乎没有回答这个问题。

0 投票
1 回答
297 浏览

python - 在 PyObjC 中,如何在使用 runModalForWindow_ 后结束工作表?

我有一个由第二个 WindowController 控制的对话框的辅助窗口(工作表)。出于某种原因,在显示工作表后,这些操作永远不会在 NSObject 子类中调用。我已经确认并重新链接了这些操作。代码运行到 runModalForWindow_ 但随后从未收到 ok 或 cancel 操作。所以这张纸永远不会消失。我在这里想念什么?我似乎无法在他们的网站上找到任何执行 runModalForWindow_ 的 pyobjc 示例...

0 投票
1 回答
707 浏览

objective-c - 如何让 Interface Builder 识别新语言的 IBOutlet/IBAction?

这是一个理论上的问题:假设我想出了一种出色的新脚本语言,并想为此搭建一个 Cocoa 桥梁。

是否可以让 Interface Builder 识别新语言并自动解析源代码,以便它可以列出IBActions 和IBOutlets,就像它已经为 Objective-C .h.rbRubyCocoa 和 PyObjC.py以及 AppleScriptObjC 的.applescript文件所做的那样?还是硬编码到 Interface Builder 中?

如果可能,我该怎么做和/或有文件吗?

0 投票
3 回答
2343 浏览

python - 如何在 Mac 上的 Python 中监听鼠标事件?

我需要在用 Python 编写的应用程序中侦听 Mac 上的全局鼠标事件(未绑定到应用程序)。

我正在使用 PyObjC,但我不知道该怎么做。简单的 ObjC 示例或其他 Python 技术也值得赞赏。

到目前为止我的代码:

== 分段错误

我知道我需要稍后将它添加到事件源,但我需要先让它工作。

[更新]

使用 PyObjC 表单 Macports 解决了段错误,所以现在我写了这个:

但这只是永远运行并且不响应鼠标事件,这是怎么回事?

0 投票
2 回答
1776 浏览

python - 尝试从 Python (w/PyObjC) 写入二进制 plist 格式以由 Cocoa Touch 获取和读取

我正在尝试为我的 iPhone 应用程序提供搜索结果的属性列表。服务器是一个原型,用 Python 编写。

首先我发现了 Python 内置的 plistlib,非常棒。我想在输入时进行搜索,所以我需要它尽可能小,而 xml 太大了。二进制 plist 格式似乎是一个不错的选择。不幸的是 plistlib 不做二进制文件,所以请直接使用 PyObjC。

(Segue:我对如何完成实时搜索的任何其他想法都持开放态度。我已经尽可能地减少了数据,包括只显示足够的结果以填充 iPhone 键盘向上的窗口,即 5。)

不幸的是,虽然我知道 Python 并且在 Cocoa 方面做得相当不错,但我仍然没有得到 PyObjC。

这是我想要做的可可等价物:

我认为我应该能够做这样的事情,但 dataWithPropertyList 不在 NSPropertyListSerialization 对象 dir() 列表中。我也应该将列表转换为 NSArray。我尝试了 PyObjC 文档,但它与我的实际工作如此相切,以至于我想我也会尝试一个 SO SOS。

这就是我在 iPhone 端的 plist 中阅读的方式。

很高兴澄清这是否没有意义。

0 投票
1 回答
407 浏览

python - 带有 PyObj 和 XCode 的 Macport Python

如何让 Macport Python 版本与 XCode 一起使用?我必须选择哪个 Python.framework?

0 投票
2 回答
771 浏览

python - 扩展 Python 和 Objective-C

我是干净代码的粉丝。我喜欢我的语言能够表达我正在尝试做的事情,但我也喜欢反映这一点的语法。

例如,我在 Objective-C 中为越狱的 iPhone 编写了很多程序,这些程序使用method_setImplementation()运行时的功能修补其他代码。或者,在 PyObjC 中,我必须使用 syntax UIView.initWithFrame_(),这对于方法名称的结构方式也非​​常糟糕且不可读。在这两种情况下,语言在语法上都不支持这一点。我发现了三种基本方法:

  • 疯狂的宏。看看这个“CaptainHook”,它以一种可用的方式完成了我正在寻找的事情,但它不是很干净并且是一个主要的 hack。
  • 还有“Logos”,它实现了一个非常好的语法,但它是用 Perl 编写的,用大量的正则表达式解析我的代码。这让我害怕。我喜欢添加 %hook ClassName 的想法,但不喜欢使用正则表达式来解析 C 或 Objective-C。
  • 最后,还有 Cycript。这是 JavaScript 的扩展,它与 Objective-C 运行时接口,允许您在 JavaScript 中使用 Objective-C 样式代码,并将其注入其他进程。这可能是最干净的,因为它实际上使用了 JavaScript 解析器,但我一般不是该语言的忠实粉丝。

我应该以及应该如何创建 Python 和 Objective-C 的扩展来允许我这样做?是否值得为我的语言编写一个解析器来将语法转换成更好的东西,如果它只是在这样一个非常专业的领域?我应该只接受默认的 Objective-C 挂钩或 PyObjC 的可怕语法吗?

0 投票
3 回答
579 浏览

python - 我应该混合使用 wxpython 和 pyobjc 吗?

我有一个基于 wxPython 的应用程序,我正在移植到 Mac OS X,因为我需要显示一些看起来像本机 mac 警报的警报,所以我为此使用 pyobjc

wx 和 objc 代码的这种混合有什么问题吗,有什么故障点吗?