この記事の対象者
C#に慣れていて、PythonでのGUI作成が苦痛に感じるエンジニア向け。
概要
PythonでGUIを作成する場合、C#のフォームデザイナのような直感的なGUI作成ツールは存在しますが、操作性が悪く、実務での利用は難しいことが多いです。そのため、多くの場合コードベースでGUIを構築する必要がありますが、これは初心者や普段C#に慣れている人にとっては非常に手間です。
そこで提案するのが 「C#でフォームを設計し、そのデザイナファイル(*.Designer.cs)をChatGPTに渡してPython用のGUIコードに変換してもらう」 という方法です。これにより、C#の得意分野(GUI設計)を活かしつつ、Python環境でGUIを動かすことが可能になります。
手順
- Visual Studioで通常通りC#のフォームアプリを作成
- GUI部品を配置し、イベント処理をC#で実装
-
.Designer.cs
ファイルをChatGPTに入力 - ChatGPTに「Tkinterに変換して」「CustomTkinterに変換して」「PySideに変換して」と依頼
- 得られたPythonコードをそのまま利用
- 実行時、エラーが出たら、エラーの内容をChatGPTに入力して、エラーを修正してもらう
変換結果の比較
自分で作成したC# (Form Designer)
C#のフォームエディタでフォームを作成し、イベントまで追加した状態で、プログラムを保存し、*.Designer.csファイルをChatGPTへ渡します。
Tkinter 変換例
ChatGPTで「Tkinterに変換して」と依頼して変換したもの
CustomTkinter 変換例
ChatGPTで「CustomTkinterに変換して」と依頼して変換したもの
PySide 変換例
ChatGPTで「PySideに変換して」と依頼して変換したもの
まとめ
- PythonでGUIをゼロから設計するのは大変
- ChatGPTを使って文章でGUIを指定するのも大変
- C#フォームデザイナを利用し、ChatGPTに変換してもらえば効率的
- Tkinter、CustomTkinter、PySideなど、用途に応じて使い分け可能
C#で作成したフォームは、比較的、再現性よく変換してくれます。
ChatGPTでC#からPythonへ変換した直後は、エラーが出る場合もありますが、エラーコードをChatGPTに貼り付けて、何回か繰り返し修正してみてください。
C#でのGUI資産を有効活用して、Pythonでの開発をもっと楽にしよう!