2011-10-17 59 views
2

我正在考虑为使用Python开发OS X应用程序。我不知道Objective C,现在不想学习它。PyQT vs PyObjc/Cocoa-Python

我知道并喜欢Python。我试图确定使用什么GUI工具包。我已经有了一些PyQT的经验,但并不多。我还看到PyObjc或Cocoa-Python似乎允许使用Python中的Cocoa UI组件。

我很好奇,如果任何人有任何关于如何PyObjC堆栈PyQT的输入。我会放弃跨平台的能力,我不知道我会获得什么。

我现在正倾向于PyQT,但想看看你们都在想什么。我非常不喜欢PyQT,不得不绕过信号和插槽。 PyObjC是否类似?

+0

你不喜欢* * PyQt的,因为信号和槽的?这就是为什么*我将它用于任何其他工具包。你想要制作什么类型的应用程序? – Blender

+0

我不喜欢信号和插槽,我喜欢这个概念。我只是不喜欢在字符串中传递C++函数声明。也许我错了? – Jon

+0

我不记得那样做。也许你在谈论传递C++数据类型('int','bool'等)?应用程序要做什么特别的事情?我在问,因为一些工具包提供了很好的绑定和数据类型。 – Blender

回答

4

如果停止使用PyQt的唯一方法是在信号中传递字符串,那么最新的语法应该使您的选择更容易。旧的语法(这仍可使用)是这样的:

self.connect(self.action, SIGNAL('triggered()'), self.handler) 

new style signals是更Python化:

self.action.triggered.connect(self.handler) 
+0

我上次使用PyQT只存在旧式的信号。那种新风格好多了。我可能会因为授权原因选择PySide。谢谢! – Jon

+0

没有看到* this *语法。绝对是一种改进! – Blender

+0

PySide有类似的语法吗?我想我可能需要使用它,因为我打算出售我的应用程序,并不认为我可以释放源代码。 – Jon