python GUI實現有許多方法,PyQt、Tkinter等等。這邊介紹的是C#視窗程式中調用你的python檔案,這樣一來就能實現為python程式產生GUI的方式。
本文說明IronPython for C#的設定及使用方式。
IronPython下載
目前最新版本是2.7.9 (2019/11/01)
這邊我們可以直接下載zip檔案,之後直接複製內含的所需的資料夾或檔案引用即可。
調用前置作業
zip解壓縮後裡面會有DLL檔案(在net45這個資料夾中),請在你的C#視窗程式中引用下面兩個參考:
- IronPython.dll
- Microsoft.Scripting.dll
在你的程式中加入引用:
1 2 |
using IronPython.Hosting; using Microsoft.Scripting.Hosting; |
先假設要引用的python程式如下:
1 2 |
def add(num1, num2): return num1+num2 |
C#函式中程式如下:
1 2 3 4 |
ScriptRuntime pyRuntime = Python.CreateRuntime(); dynamic obj = pyRuntime.UseFile("./yourPythonFile.py"); int sum = obj(1, 2); Console.WriteLine(sum); |
正常的話在輸出應該就能看到”3″。
關於import module exception的解決方式
修改C#程式如下:(加入IronPython的Lib資料夾路徑)
1 2 3 4 5 6 7 8 |
ScriptRuntime pyRuntime = Python.CreateRuntime(); var engine = pyRuntime.GetEngine("Python"); var pyScope = engine.CreateScope(); var paths = engine.GetSearchPaths(); paths.add(@"C:\IronPython.2.7.9\Lib"); dynamic obj = pyRuntime.UseFile("./yourPythonFile.py"); int sum = obj(1, 2); Console.WriteLine(sum); |
留言