問題タブ [pythonnet]

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

c# - Python for .NET で C# インターフェイスを実装する

Python for .NET を使用して呼び出しようとしている C# で記述されたライブラリが提供されました。

インスタンスが必要なプライマリ クラスには、次のようなコンストラクタがあります。

IGDhuSettingsインターフェイスを実装する (公開された) クラスはありません。Python クラスを作成して実装する場合、たとえば、

TypeError: interface takes exactly one argumentメソッドがない場合、__new__または通常の方法で定義した場合は、次のようになります。

クラスであるかのようにインターフェイスをインスタンス化しようとすると、同じエラーが発生するか (引数がないか、1 つ以上) <whatever> does not implement IGDhuSettings、単一の引数を渡した場合に発生します。

Python for .NETのソースを見ると、

CoClass (定義されていない) がないか、それを実装するクラスを既に持っていない場合、Python で C# インターフェイスを実装する手段がわかりません。

ここで見逃しているニュアンスはありますか、それとも Python for .NET の制限ですか?

GitHub での議論: https://github.com/pythonnet/pythonnet/issues/674

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

.net - PyQt5 クリップボードが clr で動作しない

PyQt5 GUI を実行し、外部 dll から C# データを読み取るプログラムを作成しましfrom clr import AddReferenceた。QApplication.clipboard が機能しないようです。

これを解決するための簡単な回避策がありますが、これによりクリップボードが機能しなくなる理由を知りたいと思いました。

この問題は、clrのみをインポートすると発生します

この clr は pythonnet プロジェクトからインストールされます

どんな情報も素晴らしいでしょう。

ありがとうございました

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

python - Python for .NET: メソッド パラメーターとして特殊な型 (FTDI.FT_DEVICE_INFO_NODE[]) の変数を提供する方法

Python for .NET (pythonnet) を使用して DLL を使用したいと考えています。この DLL のメソッドには、パラメーターとして (ポインターへの?) 変数が必要です。

メソッドを呼び出し、整数変数をパラメーターとして提供する方法を理解できました。

特殊な型が必要な場合にそのようなパラメーター変数を提供する方法がわかりませんでした (ここでは: FTD2XX_NET.FTDI.FT_DEVICE_INFO_NODE[])。

呼び出しのさまざまなバリエーションFTDI.GetDeviceList(技術的には同じものもあります) をいじると、さまざまな種類のエラーが発生します。

TypeError: 指定された引数に一致するメソッドがありません

  • FTDI.GetDeviceList([ftdi.FT_DEVICE_INFO_NODE()][:])
  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE)
  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE())
  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE(device_count))
  • FTDI.GetDeviceList([devicelist_])
  • FTDI.GetDeviceList(devicelist_)

TypeError: インデックス付けできないオブジェクト

  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE()[:])

TypeError: 型が必要です

  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE[:])

  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE[1])

  • FTDI.GetDeviceList(ftdi.FT_DEVICE_INFO_NODE[0])

コードの要約と結果は次のとおりです。

ここで、メソッドで FT_DEVICE_INFO_NODE[] と GetDeviceList が使用されている c# コードをいくつか見つけました。

FTDI.FT_DEVICE_INFO_NODE[]へのパラメーターとして提供することについて何が欠けていますFTDI.GetDeviceListか?

FTDI の USB ドライバーはhttp://www.ftdichip.com/Drivers/D2XX.htmからダウンロードされ、.Net ラッパーは http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples からダウンロードされまし。 /CSharp.htm