Python.NET
今回は、.NET のコードをIronPythonでなくPythonから呼び出しライブラリを使用したサンプルをためしてみました。
参考)https://github.com/pythonnet/pythonnet
環境)pythonnet v3.0.3 / python v3.10.13 / Anaconda Navigator 2.4.0 / Windows 11
hello.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import clr clr.AddReference("System.Windows.Forms") import System.Windows.Forms as WinForms from System.Drawing import Size, Point class HelloApp(WinForms.Form): def __init__(self): super().__init__() self.Text = "Hello! From Python" self.AutoScaleBaseSize = Size(5, 13) self.ClientSize = Size(392, 217) h = WinForms.SystemInformation.CaptionHeight self.MinimumSize = Size(392, (117 + h)) self.button = WinForms.Button() self.button.Location = Point(160, 64) self.button.Size = Size(82, 20) self.button.TabIndex = 2 self.button.Text = "Click Me!" self.button.Click += self.button_Click self.textbox = WinForms.TextBox() self.textbox.Text = "Hello!" self.textbox.TabIndex = 1 self.textbox.Size = Size(82, 40) self.textbox.Location = Point(160, 24) self.AcceptButton = self.button self.Controls.Add(self.button) self.Controls.Add(self.textbox) def button_Click(self, sender, args): WinForms.MessageBox.Show(self.textbox.Text) def run(self): WinForms.Application.Run(self) def main(): form = HelloApp() app = WinForms.Application app.Run(form) if __name__ == '__main__': main()
実行
python hello.py
Windows Form の表示とマウスクリックを確認できました。