2012-01-22 10 views
2

私はそれを理解したようQtは2つの主要プラグイン・メカニズムを提供:「Qtの拡張機能」 PySideアプリケーションプラグインの開発方法は?

  • のQtを拡張

    1. プラグインをQtの

    で開発されたアプリケーションを拡張するプラグインは、私は、プラグインの開発に興味があります私のアプリケーションのために(2)。

    私はPySideを使用していますが、PySide/PyQtを使用してアプリケーションプラグインを開発するためのリソースは見つかりません。私は、アプリケーションがQ_DECLARE_INTERFACE()を使用する必要があることを理解してC++のQtドキュメント以下

    マクロやプラグインは、両方Q_INTERFACES()Q_EXPORT_PLUGIN2()マクロを使用する必要がありますが、私は知りませんそれらをPythonに翻訳しようとするコードです。それとも私が逃した別の方法がありますか?

    アップデート:私は見つけることができるソリューションへの

    最も近いものは、これまでAlex Martelli's answer to a similar questionです。それがうまくいくように見えますが、クロスプラットフォームの問題を避けるために公式のQtアプローチを使用したいと思います。

  • 答えて

    4

    Qtのプラグインシステムは、バイナリとしてコンパイルされたC++プラグインを人々が書き込めるようにするためのものだと思います。理論的にはPythonで、そのようなC++バイナリインタフェースを使うプラグインを書くことが可能かどうかは分かりません。

    Pythonプラグインをサポートしたい場合は、多くの純粋なPythonプラグインシステムのうちの1つを使用することが最善の方法です。私はプラグインスクリプトを読み込むためにYAPSYを使うPySideアプリを書いています。 YAPSYは非常にシンプルでコンパクトなプラグインモジュールです。単一のファイルであるため、アプリケーションに直接組み込むのは非常に簡単で、BSDライセンスを取得して商用で使用することができます。 Googleで検索してください。私はpy2exeを使って自分のアプリケーションをパッケージ化することもできましたが、Pythonのソースファイルプラグインをプラグインディレクトリからインポートする機能はそのまま残していました。

    +0

    +1のYAPSYの提案。私はそれについて読んで、PyQt(http://lateral.netmanagers.com.ar/weblog/posts/BB923.html)を使って良いチュートリアルを見つけました。 – Saif

    関連する問題