問題タブ [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.
python - Cocoaライブラリを作成してPythonで使用する方法
私はゲームを作っていますが、使用したPythonライブラリはひどいです(Pyglet)。OSX版にCocoaを使ってみたいです。
NSWindowやNSOpenGLViewなどのクラスのオブジェクトを使用して理解し、これらのオブジェクトをゲームループ用の独自のクラスに配置することができます。
PyObjCを使用して、作成できる動的なObjective-Cライブラリをロードし、Pythonで作成するクラスを使用して、NSTimerでループできると思われるゲームをセットアップする方法がわかりません。
ただし、loopメソッドは、多くのpythonクラスの1つからpythonメソッドを呼び出す必要もあります。私のゲームは、ゲームのさまざまなセクション(Mapmaker、GameSession、AnacondaGameなど)で使用される多くのPythonクラスで構成されています。ゲームループは、現在のセクションに応じてこれらのクラスのいずれかでループメソッドを呼び出し、偶数の情報を渡す必要があります。
PyObjCは明らかに「双方向」ですが、それはどのように行われるのでしょうか。
あるいは、Pythonによって呼び出される2つのメソッドを作成し、その間にpythonコードを追加することもできます。この場合、ループはpythonによって制御されます。
PyObjC Webサイトの「ドキュメント」は、PythonでCocoaを使用する方法を説明しているだけで、他には何も説明していないようです。
ライブラリはクラスの初期化メソッドへのPython入力に基づいてウィンドウを作成する必要があるため、私ができないことは、インターフェイスビルダーを使用して固定GUIを作成することです。
Objective-Cの構文を知っていることは大きな問題ではなく、Cocoaのドキュメントを参照して必要なオブジェクトを作成できます。
助けてくれてありがとう。大変感謝しております。私はpygameやpygletのような壊れたライブラリを使用することにうんざりしています。プラットフォーム固有のOSAPIを使用することが、品質を確保するための最良の方法のようです。
iphone - iPhoneで利用できる優れたクライアントサーバーデータ同期フレームワークはありますか?
iPhoneアプリプロジェクトのクライアントサーバーデータ同期段階に入ったばかりで、CoreDataデータモデルをiPhoneクライアントとTurboGearsサーバーの両方にロードすることができました(これは良いことです)。私は今、サーバーと複数のクライアント間でデータを同期する問題に取り組み始めています。自分でロールすることはできますが、これは非常に一般的な問題の1つであるため、フレームワークまたはライブラリが必要です。かなりの機能を提供します。
この環境に適用できる可能性のあるもの(iPhoneのObjective-C、サーバーのpyobjc / Pythonなど)を知っている人はいますか?そうでない場合、誰かがデザインパターンを知っているか、または自己実装のために取るのに良い道であるこのようなものへのアプローチに一般的に同意しますか?「データ同期」または「リモートオブジェクトの永続性」以外に、この問題について一般的に受け入れられている用語を見つけることができませんでした。どちらもGoogleではあまり役に立ちませんでした。
この正確なタイプの機能を提供しているように見えるFunambolフレームワークに出くわしましたが、C ++ / Javaベースであるため、プロジェクトの特定の言語には適していないようです。
どんな助けでも大歓迎です。
python - PyObjCでpython関数コールバックを使用していますか?
これを行うために Python で作成された Objective-C クラスを使用しようとしていますが、Objective-C は Python 関数を呼び出すメソッドを呼び出すことができません。
以下は、Objective-C コードのフレームワーク コードです。
フレームワークをロードし、失敗したコールバックの使用をテストする python スクリプトを次に示します。
出力が得られます:
9 セグメンテーション違反
セグメンテーション違反は、python で作成された call メソッドが明らかに存在しないためです。どうすればObjective-Cに存在させることができますか?
コードが機能したとしても役に立たないでしょうが、現時点ではテストのみを行っています。コールバックが機能したら、Python 用のライブラリを作成できるようになります。
助けてくれてありがとう。
iphone - pyobjc アプリケーションからカスタム Objective-C を呼び出していますか?
この質問は基本的に、この他の質問の逆です: Calling Python from Objective-C
私は iPhone アプリケーション ロジックを Objective-C で (明らかに) 実装しており、サーバー コンポーネントで XCode プロジェクトから可能な限り再利用して、二重実装を節約しようとしています。Python から CoreData データ モデルを正常にロードしましたが、実際に Python から Objective-C ロジックを呼び出す方法がわかりません。
基本的に、Python から iPhone プロジェクトの Objective-C クラスとメソッドにアクセスして、すべての実装を無駄にしないようにしています。
これは漠然と可能ですか、それとも重複した実装がここでの唯一の解決策ですか? Boost::Python が使用されるようなものに思えますが、よくわかりません。
編集: C++ ベースであり、Objective-C が必要なため、Boost::Python は機能しません。うまくいかないのには理由があることを知りました。
python - Mac OS X 上の wxPython: フォーカスを盗まずに wx.Frame を作成する
Win32 (wx.MiniFrame からの継承がうまくいきます)、wxGTK (wx.PopupWindow) で動作させることができましたが、何を試しても、wxMac でフレームを作成すると、メイン ウィンドウがフォーカスを失い、新しいフレームが取得されます。 .
wxMac にはネイティブ プラットフォーム (Win32 の GetHandle() や wxGTK の GetGTKWidget() など) とやり取りする方法がないように見えるので、この方法でハックすることはできません。
起動時にフレームを作成して表示領域の外に移動し、必要に応じて表示位置に移動することで、別の状況でこれを機能させることができました。しかし、現時点では、必要なフレーム数が事前にわからないため、これは面倒です。
それで、これを行う簡単な方法はありますか?
python - PyObjC を使用して通常の方法で Python 例外を出力する
次のようなエラーが発生します。
2010-07-13 20:43:15.131 Python[1527:60f] メイン: OC_PythonException をキャッチ:: LoginMenuSet インスタンスに属性 'play_sound' がありません
それはこのコードです:
トレースバックとその他すべてでPython例外が正常に出力されるようにします。
ありがとうございました。
python - src から pyobjc をビルドする方法
私は src から pyobjc をビルドしようとしているので、http: //svn.red-bean.com/pyobjc/trunk をチェックアウトしました
しかし、その後、それをビルドするために何をすべきかわかりません.makeファイルやセットアップファイルが表示されませんか?
編集1: トランク/pyobjc/pyobjcフォルダーでsetup.pyを試しましたが、トランク/pyobjcに既にあるように見えるすべての必要なモジュールをダウンロードしようとします(インターネットをオフにした場合)
pyobjc-framework-XgridFoundation==2.3b1 のローカル パッケージまたはダウンロード リンクが見つかりません
しかし、trunk/pyobjc には pyobjc-framework-XgridFoundation があります
python - `import objc` のエラー: シンボルが見つかりません: _PyType_Modified
私のシステムは Mac OS X 10.5.8 で、システムを使いたくないのでhttp://www.python.org/ftp/python/2.5.4/python-2.5.4-macosx.dmgから python をインストールしました。 python (Mac OS X に既にインストールされている python) を削除し、システム python を完全に削除しました。
pyobjc をインストールしようとするとインストールされますが、インポート時にエラーが発生します
python.org python で pyobjc をインストールした人はいますか?
参考になる場合は、「easy_install pyobjc」実行中の警告を以下に示します。
python - 10.5 (Leopard) 用の PyObjC アプリケーションを xcode 10.6 (Snow Leopard) にコンパイルする
Xcode 3.2.X (Snow Leopard) で開発された PyObjC (または Cocoa-Python) アプリケーションを 10.5 にデプロイしようとしていますが、これは 10.6 システムで完全に正常に動作します。
アプリケーションは 10.5 で起動しません。起動時にクラッシュし、次のエラー メッセージが表示されます (クラッシュ レポートを参照)。
Dyld エラー メッセージ: ライブラリが読み込まれていません: /System/Library/Frameworks/Python.framework/Versions/2.6/Python Referenced from: /Users/myuser/Documents/myApp.app/Contents/MacOS/myApp Reason: image not found
どこかで Xcode が Versions/2.6 python フレームワーク パスをハードコードしているようです (たとえば、Versions/Current として設定するのではなく)。
ただし、このリンク パスを変更して Current (または 2.5、場合によっては条件付き) に設定できる場所を見つけることができませんでした...
python - Mac OSX で現在フォーカスされているアプリ ウィンドウを見つける
私はデスクトップ使用統計アプリを書いています。定期的に起動するバックグラウンド デーモンを実行し、現在フォーカスされているアプリケーション ウィンドウの名前を見つけ、そのデータをデータベースに記録します。
xprop ユーティリティを使用して、Linux デスクトップでこれを行うことができます (ここで見つけることができます)。
Mac OSX で同じことを行うにはどうすればよいですか? Pythonスクリプトからこれを行う直接/間接的な方法はありますか? (PyObjC?)