ここでは、C#のGUIのフレームワークであるWPFのサンプルプログラムを、ChatGPTの力を借りながら、作ったサンプルコードをまとめています。実行可能であることは確認していますが、WPF初学者の私がChatGPTと作っているので、ベストな方法ではないかもしれませんので、ご了承ください。

はじめに

機械学習系のプログラムはやっぱりPythonが便利ですが、GUIが備わったアプリを作ろうと思うと、Python標準のGUIライブラリ、tkinter のルックスが今一つだったりします。

そこで、メインの計算はPythonでやらせて、GUIはC#のWPFで作るということができると、ちょっといいかなと思ったりします。

そこで、ChatGPTと相談しながら、サンプルプログラムを作りました。

構成は?

まず、どういうフレームワークで作ればよいか聞いてみました。


バックエンドをpythonでつくり、GUIをWPFで作るという方法を考えます。初学者にとって一番わかりやすい構成を考えてください。


 

すると、バックエンドにはFlaskを使うといいよと教えてくれました。


初学者にとってわかりやすい構成として、PythonのバックエンドとしてFlaskを使用し、WPFを使用してGUIを構築する方法を考えてみましょう。以下はその基本的な手順です。

… 省略


PythonバックエンドのWPFアプリ

プロンプト

以下のプロンプトを入力しました。

 

バックエンドをpython+Flaskでつくり、GUIをWPFで作るという構成を考えます。
そのサンプルとして以下の仕様ようなアプリを作ります。

GUI
+入力テキストボックス
+出力テキストボックス
+「2乗を計算する」ボタン

動作
+入力テキストボックスに数値(浮動小数点)を入れると、バックエンドのpythonプログラムがその数値の2乗を計算し、その答えが出力テキストボックスに表示される。

条件
+pythonコードは、pyton3.8を想定し、Flaskを使ってください。
+WPFは、Visual Studio Express 2017を使用することを想定してください。

要求
+以上の仕様を満たすアプリのコード(xaml, xaml.cs, python)を丁寧なコメントを入れて作ってください。
+ライブラリーを使用する場合には、ライブラリーのインストール方法も教えてください。


 

ChatGPTの出力

まず、Python側のプログラムです。

 

MainWindow.xamlです。

 

MainWindow.xaml.csです。

実行

Python環境には、”pip install Flask”でFlaskをインストールして、”python background.py” でプログラムを実行します。

Visual Studio側では、MainWindow.xamlとMainWindow.xaml.cs をコピペで作り実行します。

その結果、次のようなGUIが表示されました。

 

 

上のテキストボックスに11.11と入れて、「2乗を計算する」を押すと、下に「入力の2乗:123.4321」と答えが表示されました。

ちゃんと動いているようです。