Visual Studio 2019でPythonがありますが、基本的にはコンソールアプリです。
ただしIronPythonというものを使うと、PythonでGUIを使ったアプリを簡単に作れるようになります。
IronPythonとは?
Visual StudioでPythonプロジェクトを作ろうかなと思ったら「IronPython Windowsフォームアプリケーション」というのがありました。
ググってみると、IronPythonとはドットネットフレームワークをPythonで使えるようにしたもの...っぽいです。
Visual StudioでもPythonが使えますが基本的にはコンソールアプリです。GUIを組んだりするならIronPythonという選択肢もありかもしれません。
使うには?
とりあえずどんなものかみてみたいので、プロジェクトを新規に作ってみます。
すると初期状態でこんなコードがつくられます。
起動に失敗!
しかしそのまま「開始」しようとすると「デバッガーの起動に失敗しました」として正しく構成されていないと出てしまいます。
どうやら別途IronPythonを入れないといけないようです。
以下よりIronPython-2.7.10.msiをダウンロードしてインストールします。
https://github.com/IronLanguages/ironpython2/releases/
設定
「プロジェクト>(ファイル名)のプロパティ」で「全般」タブの「インタープリター」のところで「IronPython2.7(32bit)」が選べるようになっているはずなので選択します。
これで「開始」を実行すると、無事に何もないウィンドウがつくられました。
ボタンを表示
プログラムソースの下のほうにフォームを作って実行する箇所があります。
form = MyForm()
Application.Run(form)
そこで、フォームができた後、ボタンを作ってフォームに登録するように書き換えてみます。
form = MyForm()
b1 = Button()
form.Controls.Add(b1)Application.Run(form)
これで実行すると確かにカラのボタンがつくられました。
C#などをVisual Studioで使う場合、ボタンなどをフォームにビジュアルに貼り付けられます。
しかしIronPythonでは結局プログラムからボタンの追加などをかかないといけないようです。
PythonにはTkinterのようなウィンドウやボタン表示ライブラリがあります。使い方は大体一緒ですので、どちらかの方法でウィンドウやGUIアプリを作ればいいのではないかと思います。
汎用性でいえばTkinterのほうがいいです。そっちを覚えれば、ラズパイなどでも同じように使えます。