問題タブ [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 投票する
2 に答える
2068 参照

cocoa - NSMenuItem のアニメーション プログレス バー

NSMenuItemカスタム ビューにアニメーション プログレス バーを配置したいと考えています。これは Apple のMenuItemViewサンプルで示されていますが、アニメーション化されません (少なくとも 10.5 ではなく、サンプルは明らかに 10.4 のものです)。

ドキュメントのようsetNeedsDisplay:YESにスケジュールされた を呼び出すタイマーを設定しようとしました。NSEventTrackingRunLoopModeこれは機能しますが、値を変更した場合の確定的な進行状況バーに対してのみ、メニューが初めて開いたときのみです。2 回目以降は、バーが 2 回再描画され、その後は固定されたままになります。不確定なプログレス バーの場合、バーバー ポール ストライプはアニメーション化されません。


編集:コードスニペット。呼び出しを追加しただけitemChangedですが、効果がないようです。テキストのみのアイテムの更新は正常に機能します。

0 投票する
2 に答える
1439 参照

python - pyobjcを使用してPDFにメタデータを書き込む

次のPythonコードを使用してメタデータをPDFファイルに書き込もうとしています。

これは正常に機能しているように見えますが(コンソールにエラーはありません)、ファイルのメタデータを調べると次のようになります。

元のファイルには次のメタデータが含まれていました。

したがって、問題は、メタデータを追加しておらず、以前のメタデータ構造をクリアしていることです。これを機能させるには何をする必要がありますか?私の目的は、参照管理システムがインポートできるメタデータを追加することです。

0 投票する
1 に答える
787 参照

python - Accessing API objc constants and enums from python

I am using pyobjc to add some needed OSX functionality to some random python software. I will need to access API-defined objc-land constants from python-land.

An example of such constants lies far down in the NSRunningApplication page, specifically the three possible values of NSApplicationActivationPolicy.

For context, the current task at hand is listing currently running, user-facing applications. To this end, the following code works just fine:

But I'd rather not check against zero (to make it more readable) nor hardcode a dummy NSApplicationActivationPolicyRegular value to zero in my own code when it's readily available in the original library.

How can I access such objc constants from python through pyobjc?

0 投票する
1 に答える
479 参照

python - pyobjcでメインウィンドウにビューをロードする方法は?

私は7つのボタンを備えたツールバーを含むウィンドウを持っています。ウィンドウには空のサブビューがあり、プリロードされたライトフェードを押すと、任意のボタンから選択したビューを配置する必要があります。私のコード例https://github.com/jyr/opentumblr-cocoa/blob/master/DashboardController.py

0 投票する
4 に答える
447 参照

objective-c - PyObjC / Ruby ブリッジ。それは価値がありますか?

何年も前に、Mac ソフトウェアを書きたいと思っていて、Java WebObjects の経験が豊富だったので、Java ブリッジを試してみましたが、弾丸を噛んで Objective-C を学ぶことにしました (幸いなことに、自分のソフトウェアがブリッジで非推奨になるのは嫌だったので)。その後、RubyCocoa をいじりました。私は Ruby を学びました (実に興味深いものでした) が、ブリッジが成熟したり安定したりとはかけ離れているという困難な方法を発見し、最終的にコードを Objective-C に移植することをやめました。

何年も経ちましたが、MacRuby に時間を投資する価値があるかどうか、あるいは PyObjC を使用するために Python を学習する価値があるかどうか疑問に思っています。私は Objective-C が好きですが、Ruby ブリッジがクラッシュしなかったときの方がはるかに生産的だったことを思い出します。クラッシュするソフトウェアを再び作成するために時間を費やすのは嫌いです。

0 投票する
3 に答える
3639 参照

objective-c - Mac OS X でアプリケーション起動イベントをリッスンする方法は?

AppleScriptイメージをマウントするために を書きましたが、起動SparseBundle時に正確に実行されるようにします。Time Machine

現在、Time Machine がAppleScriptusingon idleステートメントで実行されているかどうかを定期的に確認しています。

これは堅牢な方法ではありません。私の意見では、イベントにイベントトリガーを追加するApplication Launch方が良い方法です。

助けていただけますか?

Objective-CまたはPythonサンプルコード(私が好む)Pythonは大歓迎です。

0 投票する
2 に答える
1303 参照

cocoa - PyObjC と 'out' パラメーターを返す (つまり NSError **)

0 投票する
1 に答える
876 参照

objective-c - PyObjC のチュートリアル

プロジェクト自体のホームページとは別に、PyObjC を学習するためのチュートリアル Web サイトがあるかどうかを知りたいです。Python を使用してネイティブ コードを開発し、他のより伝統的なコンパイル言語でプログラミングする方法を学ばなくても生産的になれることに、私は熱意を持っています。スクリーンキャストや優れた初心者向けのチュートリアルを入手できる場所ならどこでも素晴らしいでしょう。

0 投票する
1 に答える
1134 参照

xcode - XcodeはどのPythonを実行するかをどのように選択しますか?

Xcode用のPythonテンプレートを使用すると、さまざまな理由で、1台のマシンで実行されている単純なプロジェクトが他の2台のマシンで失敗しています。私が解決した失敗は、main.mに次のようなものがあるにもかかわらずです。

main.pyから見た実際の実行中のPythonは次のとおりです。

異なります。そして問題は、この他のPythonにobjcがインストールされていないことでした。したがって、問題は次のとおりです。マシンをクリーンアップする以外に、XcodeにシステムPythonを使用するように指示するにはどうすればよいですか?

編集:

これは些細なことのように思える問題ですが、そうではありません。Mac OS X 10.5をベースSDKとして指定すると、XcodeプロジェクトのLinked Frameworksのアイコンをダブルクリックするとわかるように、XcodeはそのPython.frameworkに対してリンクしているようです。

Python.frameworkの各バージョンには、Info.plistにキーと値のペアがあります:CFBundleExecutableName/Python。幸いなことに(フォレンジックの場合)、バージョン2.5フレームワークのこのPythonは2.6.1を起動します!それでも、sys.versionを(main.pyから)印刷するか、ローダーをスヌーピングする(DYLD_PRINT_LIBRARIES = 1をエクスポートする)ことで、PyObjCアプリが実際にPython2.5.4を起動することがわかります。

上記のPy_SetProgramName..の行は関係ありません---コメントアウトでき、すべてが正常に機能します。

つまり、Python.frameworkはどのPythonを起動するかを制御しますが、これは私が期待した方法では実行せず、Appleによって制御されているため、不透明な初期化ルーチンを介して制御される可能性があります。状況を「制御」する最良の方法は、BaseSDKを変更することだと思われます。

0 投票する
1 に答える
4808 参照

python - OSX でデフォルトの Python インストールを復元するにはどうすればよいですか?

OSX 10.6 を実行している Mac に pyobjc (pyobjc-1.2-python2.3-macosx10.2.dmg を使用) をインストールしようとすると、次のエラー メッセージが表示されます。

代替テキスト

Python 2.3 を使用するために、.bash_profile を再編集して、次の行を除いてすべてコメントアウトしました。

以前にこれを含めました:

しかし、現時点ではそれを残しました。python端末に入力すると、Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)明らかに2.3を使用していないことがわかります。

これを修正するにはどうすればよいですか?