問題タブ [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.
cocoa - NSMenuItem のアニメーション プログレス バー
NSMenuItem
カスタム ビューにアニメーション プログレス バーを配置したいと考えています。これは Apple のMenuItemViewサンプルで示されていますが、アニメーション化されません (少なくとも 10.5 ではなく、サンプルは明らかに 10.4 のものです)。
ドキュメントのようsetNeedsDisplay:YES
にスケジュールされた を呼び出すタイマーを設定しようとしました。NSEventTrackingRunLoopMode
これは機能しますが、値を変更した場合の確定的な進行状況バーに対してのみ、メニューが初めて開いたときのみです。2 回目以降は、バーが 2 回再描画され、その後は固定されたままになります。不確定なプログレス バーの場合、バーバー ポール ストライプはアニメーション化されません。
編集:コードスニペット。呼び出しを追加しただけ
itemChanged
ですが、効果がないようです。テキストのみのアイテムの更新は正常に機能します。
python - pyobjcを使用してPDFにメタデータを書き込む
次のPythonコードを使用してメタデータをPDFファイルに書き込もうとしています。
これは正常に機能しているように見えますが(コンソールにエラーはありません)、ファイルのメタデータを調べると次のようになります。
元のファイルには次のメタデータが含まれていました。
したがって、問題は、メタデータを追加しておらず、以前のメタデータ構造をクリアしていることです。これを機能させるには何をする必要がありますか?私の目的は、参照管理システムがインポートできるメタデータを追加することです。
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?
python - pyobjcでメインウィンドウにビューをロードする方法は?
私は7つのボタンを備えたツールバーを含むウィンドウを持っています。ウィンドウには空のサブビューがあり、プリロードされたライトフェードを押すと、任意のボタンから選択したビューを配置する必要があります。私のコード例https://github.com/jyr/opentumblr-cocoa/blob/master/DashboardController.py
objective-c - PyObjC / Ruby ブリッジ。それは価値がありますか?
何年も前に、Mac ソフトウェアを書きたいと思っていて、Java WebObjects の経験が豊富だったので、Java ブリッジを試してみましたが、弾丸を噛んで Objective-C を学ぶことにしました (幸いなことに、自分のソフトウェアがブリッジで非推奨になるのは嫌だったので)。その後、RubyCocoa をいじりました。私は Ruby を学びました (実に興味深いものでした) が、ブリッジが成熟したり安定したりとはかけ離れているという困難な方法を発見し、最終的にコードを Objective-C に移植することをやめました。
何年も経ちましたが、MacRuby に時間を投資する価値があるかどうか、あるいは PyObjC を使用するために Python を学習する価値があるかどうか疑問に思っています。私は Objective-C が好きですが、Ruby ブリッジがクラッシュしなかったときの方がはるかに生産的だったことを思い出します。クラッシュするソフトウェアを再び作成するために時間を費やすのは嫌いです。
objective-c - Mac OS X でアプリケーション起動イベントをリッスンする方法は?
AppleScript
イメージをマウントするために を書きましたが、起動SparseBundle
時に正確に実行されるようにします。Time Machine
現在、Time Machine がAppleScript
usingon idle
ステートメントで実行されているかどうかを定期的に確認しています。
これは堅牢な方法ではありません。私の意見では、イベントにイベントトリガーを追加するApplication Launch
方が良い方法です。
助けていただけますか?
Objective-C
またはPython
サンプルコード(私が好む)Python
は大歓迎です。
objective-c - PyObjC のチュートリアル
プロジェクト自体のホームページとは別に、PyObjC を学習するためのチュートリアル Web サイトがあるかどうかを知りたいです。Python を使用してネイティブ コードを開発し、他のより伝統的なコンパイル言語でプログラミングする方法を学ばなくても生産的になれることに、私は熱意を持っています。スクリーンキャストや優れた初心者向けのチュートリアルを入手できる場所ならどこでも素晴らしいでしょう。
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を変更することだと思われます。
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を使用していないことがわかります。
これを修正するにはどうすればよいですか?