問題タブ [wxpython]
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.
c++ - Python と C++ で書かれた wxWidget はどれくらい遅いですか?
グラフィカル ノード ネットワークを表示する wxWidget の作成を検討しているため、多くの描画操作を行います。Python を使用すると処理が遅くなることはわかっていますが、動作させて、機能するようになったら後で移植したいと考えています。理想的には、パフォーマンス ヒットがそれほど大きくない場合は、簡単に更新できるようにコードベースを Python のままにしておくことをお勧めします。
私が疑問に思っているのは、物事がどれだけ遅くなると予想すべきかということです。これは漠然としていて、終わりがないことはわかっていますが、何が期待できるかという感覚が必要なだけです。500個の円を描くと行き詰まりますか? それはまったく目立つでしょうか?あなたの経験は何ですか?
python - wx フレーム クラスからアプリケーション メソッドを呼び出す
私は wxPython から始めて、手に入れることができるすべてのチュートリアルと例を通して自分の道を歩んできました。ただし、わずかな問題が発生しました。これは、wx.App と wx.Frame に関係しており、特定のメソッドを含める必要があります。私が見たほぼすべての例は、レイアウト/サイザーとイベント処理をはるかに超えていません.wxPythonプロジェクトのプロジェクト編成に実際に取り組んでいるものはありません.
たとえば、フォルダーのリストを取得するメソッドがあります。ほとんどの例でこれに対処する方法は、メソッドをフレーム クラスに固定することです。このメソッドは、アプリケーションの他のいくつかの部分で使用される可能性があるため、アプリケーション クラス レベルで格納する方が理にかなっています。
フレーム クラスがごちゃごちゃしないようにするには、これらのような「ユニバーサル」メソッドをどのように整理して呼び出す必要がありますか。
アップデート:
明確にするために、「フォルダーのリスト」は単なる例であり、私の実際の方法はより多くの作業を行います。私が言っているのは、フレーム固有ではないコードがあるということです。これがアプリケーション クラスにある場合、フレーム内のイベント メソッドからそれを呼び出す最良の方法は何ですか。
プログラミングの基礎ではなく、実際のプロジェクト編成のテクニックを探しています。
python - wxPython とウィンドウ間でのオブジェクトの共有
私はしばらくの間 python を使用しており、wxPython を学び始めたばかりです。いくつかの小さなプログラムを作成した後、ダイアログ間で共有できるオブジェクトを作成する方法を理解するのに苦労しています。
例としていくつかのコードを次に示します(長さについてお詫びします-トリミングを試みました):
したがって、両方のダイアログが gamePlayer オブジェクトにアクセスできるようにします。現時点で考えられる唯一の方法は、gamePlayer オブジェクトをグローバル オブジェクトとして作成することですが、これらは通常、眉をひそめられます。これを行うためのより良い方法はありますか?
この質問には、イベント バインディングでオブジェクトを渡す方法がありますが、あまり適切ではありません。
MVC パターンを実装することを学ぶことは、ここでの前進ですか?
ありがとう。
python - 外部 GUI ライブラリを使用して Autodesk Maya でユーザ インタフェースを作成する
Autodesk Maya でツールを開発しています。私が構築するツールの多くには、アニメーターやモデラーが使用するためのシンプルなウィンドウ GUI があります。これらの GUI には、多くの場合、基本的なウィンドウで通常表示されると予想されるものが含まれています。ラベル、リスト、メニュー、ボタン、テキストフィールドなど。ただし、利用可能なツールで構築できる UI の複雑さには制限があり、特に利用可能なウィジェットの種類には制限があります。
ListView (グリッド)、ツリーなど、より高度な wxPython ウィジェットの使用に興味があります。これには、完全な wxFrame (ウィンドウ) を使用して UI 全体を表示することが含まれます。これは、基本的に、ウィンドウがもはや存在しないことを意味します。マヤと結ばれます。大した問題ではありませんが、Maya が最小化されている場合、ウィンドウがそれに追随しません。
テストとして tkinter を使用して以前にこのようなことを試したことがありますが、独自のスレッドで実行するには MainLoop が必要であることがわかりました。これは論理的ですが、私の場合、Maya 自体のスレッドと競合するため、基本的にウィンドウが閉じられるまで Maya がハングアップします。これは、MEL であれ Python であれ、Maya がすべてのスクリプトをメインの Maya GUI が共有する単一のスレッドで実行するためです。これは、別のスクリプトが同じオブジェクトに対して作業を行おうとしているときに、あるスクリプトがオブジェクトを削除することを防ぐためです。
wxPython には、これと同じ「メインループ」方法論があります。Maya 内で機能するように回避する方法があるかどうか疑問に思っていますか?
python - MainLoop 例外をキャッチして MessageDialogs に表示する
外部構成ファイルに依存する wxPython アプリケーションがあります。構成エラーがある場合に表示されるわかりやすいメッセージ ダイアログを提供したいと考えています。app.MainLoop() 呼び出しを try/except ステートメントでラップすることで、これを機能させようとしました。
以下のコードは、私の MainWindow フレーム クラスの init コードに対して機能しますが、MainLoop 内で発生する例外をキャッチしません。これらの例外をキャッチするにはどうすればよいですか?
wx.App クラスでオーバーライドできる OnExceptionInMainLoop メソッドについての言及を読んだことがありますが、wx.App にはその名前のメソッドがないように見えるため、読んだソースは古くなっている (2004 年) に違いありません。
編集:
メインループ中に未処理の例外をキャッチできるようにする必要があります。これにより、それらをさらに処理してエラー ダイアログに表示し、黙って渡したり、アプリを終了したりできなくなります。
sys.excepthook ソリューションはレベルが低すぎて、wxPython のメインループ スレッドでは適切に機能しません。他の回答へのリンクは同じ try/except を実行しますが、メインループをラップすることは機能しませんが、これは wxPython が app/ui の別のスレッドを生成するためです。
python - OSX の各バージョンに対応する Python と wxPython のバージョンは何ですか?
OSXの各バージョンに対応するPythonとwxPythonのバージョンを知りたいです。Python と wxPython の新しいバージョンをインストールする前に、自分のアプリの一部が Mac で互換性を維持できる期間が正確にどれくらいになるかを知りたいと思っています。
python - シンプルなウィンドウ 3D モデリング アプリケーションを開発するのに最適なモジュールは?
非常に基本的な 3D モデリング ツールを作成したいと考えています。アプリケーションはウィンドウ化されると想定されており、3D ビューポートでのマウス クリックおよびドラッグ イベントに応答する必要があります。
実際のウィンドウには wxPython を使用することに決めました。すでにかなり慣れているからです。ただし、さまざまなマウス イベントに応答できる OpenGL ビューポートを作成する必要があります。「カメラ空間」での 2D マウスの位置をワールド空間座標に変換して、選択作業を容易にするための便利な計算を用意しても問題ありません。
どのモジュールを検討すべきかについての推奨事項を探しています。
python - Python でのクロスプラットフォーム SWF 再生?
Python を使用して Windows、OSX、および Linux で SWF ファイルを再生するためのさまざまなソリューションを探しています。理想的には、プレーヤーを wxPython フレーム/ウィンドウ内に埋め込みたいと考えています。
私が調査している 1 つの可能性は、ブラウザ内で Flash プラグインをロードするために FireFox で使用されている Mozilla XPCOM フレームワークです。
python - wxPython のパネル間でボタンをドラッグ
wxPythonでボタンをあるパネルから別のパネルにドラッグする方法が示されている例を知っている人はいますか?
パネルにビットマップ ボタンを作成しました。それを別のパネルにドラッグ アンド ドロップできるようにしたいと考えています。
テキストとファイルだけで、ボタンを使用した例は見つかりませんでした。
Python と wxPython の最新バージョンを使用しています。