問題タブ [python-sip]

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 投票する
0 に答える
394 参照

python - SIP を使用して Qt C++ ライブラリの Python バインディングを生成し、それを PySide で呼び出すことはできますか?

ライセンスのために PySide を選択する必要があります。しかし、そのShibokenツールは非常にドキュメントが不足しています. Qt C++ ライブラリのバインドを正常に生成できません。

少なくともドキュメントの部分では、SIP の方が成熟しているように見えます。SIP を使用してバインディングを生成し、PySide で Python コードを実行してバインディングを呼び出すことは可能ですか? 私のユーザー環境は、Windows XP + Python 2.7 + PySide 1.1.2 (Windows インストーラー ベース、C:\Python27\Lib\site-packages\PySide にインストール) です。

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

python - Sip ファイルの構文エラー

私が取り組んできたプロジェクトの複数の .sip ファイルの構築を制御する SIP ファイルを作成しています。PyQt に付属しているファイルの 1 つを、他の .sip ファイルをインポートする 1 つのファイルを作成する方法の例として使用し、'sip' への 1 回の呼び出しでそれらを作成しました。configure.py スクリプトを実行すると、次のような出力が得られます。

sip で実行しようとしているメインの .sip ファイルは次のとおりです。

明らかな構文エラーが見つからないようです。どんな助けでも大歓迎です。

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

python-2.7 - SIP Makefile の失敗 (gnuwin および mingw)

Python 2.7 用の Sip モジュールをダウンロードし、makefile を作成して、makefile をmake含むディレクトリでコマンドを実行しましたが、次のエラーが発生しました。

Gnuwin と mingw32 の両方でこのエラーが発生します。だから、今何をすべきか途方に暮れています。何か案が?

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

c++ - python-sip: Python と C++ の両方から DLL にアクセスする方法

私は C++ GUI を持っています。実行時に DLL をロードします。SIP を使用して DLL を Python にインポートします。Python 部分を GUI に埋め込む必要があり、Python と C++ の間で交換するためにいくつかのデータが必要です。

たとえば、C++ GUI では、「drawSomething()」などのコマンドをパネルから入力できます。これにより、Python で対応する関数が呼び出され、結果が GUI に表示されます。

SIP を使用して Python オブジェクトから C++ オブジェクトを抽出できますか (boost.python のように)、または Python と C++ の間でシームレスにデータを共有するためのより良い方法はありますか?

ありがとう。

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

python - Python-C 統合: Ctypes、CFFI、またはバイナリ モジュールの作成

基本的には、Python プログラムで C で記述された関数を呼び出したいと考えています。

だから(私が知る限り)私のオプションは次のとおりです。

  • CTypes/ CFFI
    • C 関数を含む DLL/SO/DyLib を作成し、 CTypes またはCFFIを使用してそれらにアクセスします。どうやらCFFIの方がはるかに高速ですが、すべての関数シグネチャを Python で宣言する必要があるという唯一の欠点があります。
    • 長所:
      • 私の C 関数に適応させる必要はありません。すべての型変換は Python で行われます。
    • 短所:
      • パフォーマンス ?
  • Python バイナリ モジュール
    • C で Python インターフェイスを作成し、C モジュールをバイナリ Python モジュールに変換します
    • 長所:
      • パフォーマンス ?
    • 短所:
      • すべての型変換は C で行われます。[SIP][3] を使用すると、これが自動化される場合があります。

C モジュールを Python バイナリ モジュールに変換した方が本当に速いですか?

どちらのソリューションも、C 関数への Python コールバックの送信をサポートしていますか?

SIP は Python インターフェイスを生成するための適切なオプションですか? 他にオプションはありますか?

それらのいずれかに他の特徴はありますか?

0 投票する
0 に答える
730 参照

python - C++ 用の SIP Python ラッパー

SIP初心者です。C++ ファイル用の単純な python ラッパーを作成しようとしています。C++ 用のサンプル python ラッパーがあれば、助けてください。サンプルコードを入手しました。しかし、次のコマンドを実行すると、" sip: string.sip:72: This Python slot requires %MethodCode" というエラーが表示されます: mkdir sipcode cp sipcode-Makefile sipcode/Makefile $(SIP) -s ".cc" -c sipcode文字列.sip

string.sip のコードは次のとおりです。

%モジュール文字列

名前空間 std {

クラス文字列 {

%TypeHeaderCode

string.h を含める

%終わり

公開: 文字列();

void str (); %MemberCode const char* s; std::string* ptr;

%終わり

void getitem (); %MemberCode std::string* ptr; int i;

%終わり

}; };

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

python - Python の Qt C++ コード、PyQt4

Python コードで Qt/C++ に記述された動的ライブラリを使用する必要があります。

このツールを見つけましたhttp://pyqt.sourceforge.net/Docs/sip4/using.html#ref-simple-c-example そして、使用に問題があります。

だから、私はC++ライブラリ用にこのファイルを持っています

こんにちは。

こんにちは.cpp

プロジェクトプロ

qmake-qt4でコンパイルし、 次にmakeを使用して、esw ファイルを取得します

次に、SIP 構成用のファイルがあります。

configure.py

こんにちは一口

helloconfig.py.in

次に、次のように構成します

次に、makeでエラーを作成しました

しかし、これは単純な問題で、-L を追加することで解決します。

そして、ディレクトリに新しい.soがあります-hello.so

次に、単純な python スクリプトを使用して結果をテストしています。

そして、私はエラーを持っています

私の間違いはどこですか?私が間違っていることは何ですか?