問題タブ [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.
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
.net - PyQt5 クリップボードが clr で動作しない
PyQt5 GUI を実行し、外部 dll から C# データを読み取るプログラムを作成しましfrom clr import AddReference
た。QApplication.clipboard が機能しないようです。
これを解決するための簡単な回避策がありますが、これによりクリップボードが機能しなくなる理由を知りたいと思いました。
この問題は、clrのみをインポートすると発生します
この clr は pythonnet プロジェクトからインストールされます
どんな情報も素晴らしいでしょう。
ありがとうございました
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