パソコンで利用することができるGUIアプリを作成するのに、python以外にもあるのか、調べてみました。
個人的には、時代の流れ的にはpythonを使う、という選択肢しかなかったかつ、データ解析をしたかった、という理由でpythonを選択しています。
しかし、それ以外にもGUIアプリを作成することができる言語があるので、いくつか紹介していきたいと思います。
GUIアプリ作成を学びたい方は、以下のプログラミングスクールもおすすめです
無料体験ができるので、体験を受けてから受講するかを決めるのが○です
twitter上ではこんなツイートも見つけたのでご紹介
先日のブログ記事で公開したが、数あるプログラミング言語の中でもPythonは将来性が高く需要がますます拡大している。
プログラミング言語Pythonの将来性について、言語の特徴とRubyやJavaとの比較から将来を図解で深く検討してみた。
Pythonは本当に将来性が高い。#駆け出しエンジニアと繋がりたい pic.twitter.com/F1r8f70iBw
— Nameless (@Nameless_SN) August 8, 2021
Contents
Python以外でGUIアプリを作れるプログラミング言語

GUIアプリを作れるプログラミング言語には以下のものがあります。
- python
- C#
- Java
- Swift
もっとありますよね…?
ただまぁ、どれだけあっても、python推しは変わりません。
そしてSwiftは作れるのがiosに限られているので、一般化しにくいですね。
調べてみると、めちゃくちゃわかりやすくまとめてくれている方がいました。
ぜひそちらを参考にしてみてください。
簡単なウインドウアプリ(GUI)開発のまとめ(Windows偏)
こちらの質問箱も参考になります
Yahoo!知恵袋
プログラミング言語の敷居を低くするならば、VisualBasicもありだと思います。
高校生の時にVBでGUIアプリを作成しましたが、かなり簡単に作成することができました。
それってマクロで良くね?
GUIアプリを作るのに、pythonを学んでいたら、
「pythonなどのプログラミング言語を学ぶ前に、Excelをマスターしろ」
っていうのを見かけました。
Excelにはマクロ機能があり、それで簡単にプログラムが作れるみたいなんですよね。
ただ、残念ながら私のパソコンにはExcelが入っていないので、却下です。
そもそも、マスターするためにExcelを学ぶなら、pythonでも変わらなくない?
って思います。
ということで、GUIアプリを作成するプログラミング言語はいくつかあるけど、結果的にはPython一択ということになりますね。
こちらの意見はpythonに肯定的です笑
Pythonでテンソルが簡単に使えるのを知って、Excelで百万のセルに計算をさせるのが馬鹿らしくなるかも。
— huuka 🥬 (@dbk_huuka) August 25, 2021
excelとかVBAが不必要というわけではないですね、はい
VBAと同じくらいPythonでもExcel操作出来ればいいんですけど全然そうじゃないんですよね😢 https://t.co/qA79kv7QAp
— Takushi@VBAとGAS勉強中 (@Taxi3134) August 25, 2021
プログラミング言語はたくさんあって、何を選んだらいいかわからないと思います
そういう時には、ひとまずメジャーな言語を勉強すればいいと思っています
もしくは必要に迫られている言語
もし職場や自宅のパソコンでVBAが扱えて、解決したいことがVBAで解決できるのであれば、VBAを学ぶのが一番です
取っ替え引っ替えしていると、全然身にならないので、「これっ!」と決めたものがあれば、それを一生懸命勉強するのがいいと思います。
もしもexcelを使うのであれば、pythonを使ってexcel操作ができます
pythonでできること
マクロでできることは、概ねpythonでもできると思っています
現在作成している、グラフ作成機能はマクロでもできますが、前処理をpythonで行なっているため、マクロを組む理由が見つからないんですよね
作成途中ですが、イメージとしては、以下の画像のようになります
ワークシートはGUI上に表示できるようにして、どの列を選択するかを迷わないように調整する予定です
pythonでexcelを操作する方法については、後日まとめていきたいと思います

pythonのGUIライブラリについて
pythonでGUIアプリを作成すると言っても、作成方法はいくつかあります
pythonにはライブラリと言って、パッケージみたいのがいくつか用意されています
- tkinter
- kivy
- PyQt
- wxPython
- PySide
とそれぞれ特徴があります

tkinter
私が作成しているのはGUIアプリはtkinterを使って作成しています
tkinterはpythonの標準ライブラリなので、特別な環境構築が必要ない、とされていたため、使用し始めました
確かに簡単にGUIアプリを作成することができますが、機能面での物足りなさを感じますが、クロスプラットフォームで動作可能なのはメリットでもあります
(クロスプラットフォーム:クロスプラットフォームとは、異なるプラットフォーム上で、同じ仕様のものを動かすことが出来るプログラムのこと)
kivy
kivyもクロスプラットフォーム対応です
しかもマウスやキーボード、マルチタッチなどさまざまな入力に対応しているため、自由度の高いGUIアプリを作成することができます
kivyはゲーム作成に強みのあるライブラリとして定評があります
PyQt
PyQtはC++で記述されたQtをpythonで使えるようにしたものです
C++の知識がなくても、pythonを使って美しいGUIアプリを作成することができます
サンプルで作成された画像とかを見ると、かなりおしゃれです
しかし、商用利用する場合には、ロイヤリティが発生するため、難しいところです
いくらくらいするのか調べてみましたが、詳細は載っていないため、問い合わせするしかなさそうです
作成したGUIアプリを販売しようと思っている場合には、PyQtのハードルは高いかもしれません
wxpython
これもC++をもとにしたGUIツールキットです
PyQtとは違って、商用利用時にロイヤリティが発生しません
動作自体も安定しており、ライブラリも豊富に用意されていることから、ちょっと大変なGUIアプリを作成する時にはおすすめなライブラリだと思います
PySide
PySideはPyQtのpythonバインディングです
tkinterの代わりに使用されます
Mayaに同梱されている豪華なGUIが作れるライブラリ
pythonのGUIライブラリは結局どれを選べばいいのか?
種類が豊富にあると、どれを選んでいいのかわからなくなりますよね
個人的にはそこまで大掛かりではない場合には、tkinterでいいと思っています
ゲームを作成したい場合には、kivyの一択です
tkinterで一通り、pythonの構文とかを学んで自由度が高まってから、他のライブラリに手を出すのがいいんじゃないかな、と思っていますし、私はそうする予定でいます
tkinterはかなり簡単にGUIアプリ作れるので、おすすめです
pythonでGUIをおしゃれに作りたい
pythonでGUIを作る場合には、やはりおしゃれな方がいいですよね
pythonでGUIをおしゃれに作る場合には、PySideを使うのがいいと思います
Mayaに同梱されている豪華なGUIが作れるライブラリだと思えば、かなりおしゃれなのが作れると思います
実際にGUIアプリを作ってみよう
このコードでは、好きなcsvファイルを選択し、列名をリストボックスに表示させることができるプログラムです。
import tkinter as tk
from tkinter import filedialog
import pandas as pd
import os
root=tk.Tk()
root.title("CSV列名表示")
frame=tk.Frame()
frame.grid(row=0,sticky="we")
frame_button=tk.Frame()
frame_button.grid(row=1,sticky="we")
def btn_click():
type = [("all file","*")]
path = os.getcwd ()
file_path = filedialog.askopenfilename(filetypes = type, initialdir = path)
df = pd.read_csv(file_path, engine="python")
df_columns=df.columns.values
list_value=tk.StringVar()
list_value.set(df_columns)
listbox=tk.Listbox(frame,height=30,listvariable=list_value,selectmode="single")
listbox.pack()
Button=tk.Button(frame_button,text="選択",command=btn_click)
Button.grid(row=1,column=0)
root.mainloop()



Pythonの環境構築で挫折×3回
僕はpythonを始めるまでに、3回ほど挫折しています
どれも環境構築で挫折しました。
最終的にはAnacondaを使った環境構築です。
これからpythonを学ぼうと思っている方は、こちらの記事を参考にすれば、Anacondaをインストールすることができます。
ぜひ参考にしてみてください。

Pythonなどのプログラミング学習で挫折しない方法
Python学習を進めていく上で、
「ひとまず何かしらの書籍に目を通したい」
「webで調べても全くわからない」
という状況が何度も何度でも出てくるかと思います。
そういう時に便利なのが、kindleとテラテイルです。
Kindleはご存知の通り、電子書籍です。
Kindleには多くのpython学習本が用意されており、無料で読むことができます。(たまに有料もあります)
ひとまずどういった書籍があるのか?
もしものために、書籍に目を通しておこう
という場合には、kindleの利用がおすすめです。
python初心者におすすめのプログラミングスクール
書籍を読んでもわからない場合には、プログラミングスクールに通うのも一つの方法です
以下はpythonを学ぶことができるプログラミングスクールです
どれも無料体験がありますが、それぞれの特徴としては、