2011-10-17 56 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