Visual Studio 2019でPythonがありますが、基本的にはコンソールアプリです。
ただしIronPythonやTkinterというものを使うと、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)
これで実行すると確かにカラのボタンがつくられました。
Tkinterを使ってウィンドウを作る
Visual StudioでのPythonは、C#やVisual Basicを作るときのようにフォームを作ってボタンを配置するようなデザイナー機能はありません。
そのため、ライブラリをつかってウィンドウをプログラムのほうから記述して表示させる必要があります。
インストール
PythonのGUIで代表的なものといえば、Tkinterです。
ライブラリをインポートすれば、あとはボタンなどを簡単に追加することができます。
通常Visual StudioのPythonでライブラリを使うには「pip install」が利用できます。
しかし「pip install tkinter」を実行してみたのですが、「みつかりません」となってしまいました。
で、いろいろぐぐって調べてみると、tkinterはすでにあってパスを追加すれば利用できるようでした。
参考:Visual StudioでPython(パイソン)を使ってみる2 | 孤独なコンピュータ
プロジェクトにある「検索パス」という項目で右クリックメニューから「フォルダーを検索パスに追加」を実行します。
でPythonのパスを追加します。
うちの場合は「C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64」です。
プログラム
あとはPYにプログラムを書きます。
import tkinter
root = tkinter.Tk()
root.mainloop()
あとは実行します。
すると先にコンソールが起動してそれからTKinterを使ったウィンドウが無事表示されました。
すぐに使える場合もあるかもしれませんが、利用できない場合は上記のように検索パスを追加しておけば大丈夫だと思います。
結局どっち?
C#などをVisual Studioで使う場合、ボタンなどをフォームにビジュアルに貼り付けられます。
しかしIronPythonでは結局プログラムからボタンの追加などをかかないといけないようです。
PythonにはTkinterのようなウィンドウやボタン表示ライブラリがあります。使い方は大体一緒ですので、どちらかの方法でウィンドウやGUIアプリを作ればいいのではないかと思います。
汎用性でいえばTkinterのほうがいいです。そっちを覚えれば、ラズパイなどでも同じように使えます。