问题标签 [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 投票
9 回答
4267 浏览

python - 为什么 PyObjC 文档如此糟糕?

例如, http: //developer.apple.com/cocoa/pyobjc.html仍然适用于 OS X 10.4 Tiger,而不是 10.5 Leopard。这就是 Apple 的官方文档。

PyObjC 官方页面同样糟糕,http ://pyobjc.sourceforge.net/

太糟糕了,令人费解.. 我正在考虑学习 Ruby,主要是因为 RubyCocoa 的东西有更好的文档记录,并且有很多不错的教程(例如http://www.rubycocoa.com/),而且因为鞋子图形用户界面工具包..

即使是这个自动翻译得很糟糕的日语教程也比我能找到的其他文档更有用..

我想做的就是使用 Cocoa GUI 创建相当简单的 Python 应用程序。
任何人都可以了解可怕的文档,或者指出一些教程,这些教程不仅给你大量的代码块,而且假设你知道做什么NSThread.detachNewThreadSelector_toTarget_withObject_("queryController", self, None)。 ?

0 投票
2 回答
2518 浏览

python - 如何使用 Cocoa 和 Python (PyObjC) 创建状态栏项目?

我在 XCode 中创建了一个全新的项目,并在我的 AppDelegate.py 文件中有以下内容:

但是,当我启动应用程序时,没有显示状态栏项目。main.py 和 main.m 中的所有其他代码都是默认的。

0 投票
2 回答
1343 浏览

python - 从 statusItem menuItem 启动的 NSWindow 不显示为活动窗口

我有一个用 PyObjC 编写的 statusItem 应用程序。statusItem 有一个 menuItem,它应该在单击时启动一个新窗口:

launchPreferences: 方法是:

Preferences 是一个 NSWindowController 类:

当我在 XCode (Build & Go) 中运行应用程序时,它工作正常。但是,当我从 XCode 外部运行构建的 .app 文件时,statusItem 和 menuItem 会按预期显示,但是当我单击 Preferences menuItem 时,窗口不会出现。我已经通过检查控制台输出验证了 launchPreferences 代码正在运行。

此外,如果我再次双击 .app 文件,则会出现该窗口,但如果我通过单击(例如)Finder 窗口来更改活动窗口,则首选项窗口会消失。在我看来,这与活动窗口有关。

更新 1 我已经尝试了 两个答案,但都不起作用。如果我添加到 launchPreferences 方法:

或者

然后我得到一个错误:

“首选项”对象没有属性

0 投票
1 回答
348 浏览

python - 对 PyObjC 应用程序进行采样/分析的最佳方法是什么?

使用 Activity Monitor/Instruments/Shark 进行采样将显示堆栈跟踪,其中包含 Python 解释器的 C 函数。查看相应的 Python 符号名称会很有帮助。是否有一些 DTrace 魔法可以做到这一点?Python 的 cProfile 模块可用于分析 Python 调用的各个子树,但对于了解整个应用程序响应用户事件的情况并没有多大用处。

0 投票
5 回答
4876 浏览

python - Cocoa 客户端/服务器应用程序

Cocoa 中是否有一种方法目前被认为是创建多层或客户端服务器应用程序的最佳实践?

我是一位经验丰富的 Web 开发人员,我真的很喜欢 Python。不过,我是 Cocoa 的新手。我正在尝试编写的应用程序是一家大型医院的患者管理系统。该系统预计会随着时间的推移存储大量数据,但在单个会话期间传输的数据非常少(主要是文本)。假设通信发生在本地网络(有线或无线)上。当然,它必须是高度安全的。

我能想到的最好办法是编写一个 Python REST Web 服务并通过 Cocoa 应用程序连接到它。也许我什至会使用 Python 来编写 Cocoa 应用程序本身。

看看 Cocoa,我在 Cocoa 中看到了非常棒的技术,比如 CoreData,但我找不到任何类似的用于客户端服务器开发的技术。我只是想确保我没有遗漏任何东西。

你怎么看?

现实世界的例子将不胜感激。

提前致谢。

0 投票
5 回答
2517 浏览

python - PyObjc vs RubyCocoa for Mac 开发:哪个更成熟?

我一直想玩 Ruby 或 Python,同时我一直想做一些 Cocoa 编程。

所以我认为实现这两个目标的最佳方式是使用 Ruby 或 Python 到 Objective-C 的桥(PyObjc 或 RubyCocoa)开发一些东西。

我知道理想情况下,为了获得最好的学习体验,我会独立学习每种技术,但我没有时间。:)

所以我的问题是哪个是更成熟的平台,PyObc 或 RubyCocoa,我正在寻找的主要内容:

  1. API 文档
  2. 教程
  3. 工具
  4. 支持社区
  5. Cocoa API 的完整性可通过桥接器获得

关于第 5 点,我不希望整个 Cocoa API 都可以通过任何一个桥接器使用,但我需要有足够的 Cocoa API 可用于开发功能正常的应用程序。

0 投票
1 回答
1588 浏览

cocoa - Display logging output in Cocoa

What is the best way to display constantly updated logging output using Cocoa Components? The output is line-based and generated by the application. Appending lines should be fast, and the view should automatically scroll to the bottom. All in all, it should work and look like basic standard out in a terminal.

My code is written in Python, using the PyObjC bridge. I'm looking for approaches/examples I can adapt, Objective-C code is welcome.

0 投票
5 回答
4573 浏览

cocoa - 处理 OSX Dock 拖放

关于如何在 OSX 中处理拖放到 Dock 的信息,我从高处和低处查看。拖放文档(http://developer.apple.com/documentation/Cocoa/Conceptual/DragandDrop/DragandDrop.html#//apple_ref/doc/uid/10000069)我发现所有处理从一个视图拖到另一个视图。如果有人可以向我指出一些代码示例,那就太好了。

我正在使用 PyObjC 新娘编写我的应用程序,但同样欢迎 Cocoa 示例:-)

0 投票
4 回答
777 浏览

cocoa - pyobjc 中的 NSThread 或 pythons 的线程模块?

我需要做一些网络绑定调用(例如,获取一个网站),我不希望它阻塞 UI。如果我在 pyobjc 中工作,我应该使用 NSThread 还是 python 的线程模块?我找不到任何有关如何选择其中一个的信息。请注意,我并不真正关心 Python 的 GIL,因为我的任务根本不受 CPU 限制。

0 投票
2 回答
1250 浏览

python - PyObjC + Python 3.0 问题

默认情况下,Cocoa-Python 应用程序使用默认的 Python 运行时版本 2.5。如何配置我的 Xcode 项目以使其使用更新的 Python 3.0 运行时?我尝试用较新的版本替换项目中包含的 Python.framework,但它不起作用。

还有一件事,PyObjc 模块是否与新版本的 Python 兼容?