python PR

Python以外にもある?GUIアプリを作れるプログラミング言語について

python以外でGUIアプリが作れるプログラミング言語とは?
記事内に商品プロモーションを含む場合があります

パソコンで利用することができるGUIアプリを作成するのに、python以外にもあるのか、調べてみました。

個人的には、時代の流れ的にはpythonを使う、という選択肢しかなかったかつ、データ解析をしたかった、という理由でpythonを選択しています。

しかし、それ以外にもGUIアプリを作成することができる言語があるので、いくつか紹介していきたいと思います。

GUIアプリ作成を学びたい方は、以下のプログラミングスクールもおすすめです

無料体験ができるので、体験を受けてから受講するかを決めるのが○です

twitter上ではこんなツイートも見つけたのでご紹介

Python以外でGUIアプリを作れるプログラミング言語

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に肯定的です笑

excelとかVBAが不必要というわけではないですね、はい

プログラミング言語はたくさんあって、何を選んだらいいかわからないと思います

そういう時には、ひとまずメジャーな言語を勉強すればいいと思っています

もしくは必要に迫られている言語

もし職場や自宅のパソコンでVBAが扱えて、解決したいことがVBAで解決できるのであれば、VBAを学ぶのが一番です

取っ替え引っ替えしていると、全然身にならないので、「これっ!」と決めたものがあれば、それを一生懸命勉強するのがいいと思います。

もしもexcelを使うのであれば、pythonを使ってexcel操作ができます

pythonでexcelを操作する方法

pythonでできること

マクロでできることは、概ねpythonでもできると思っています

現在作成している、グラフ作成機能はマクロでもできますが、前処理をpythonで行なっているため、マクロを組む理由が見つからないんですよね

作成途中ですが、イメージとしては、以下の画像のようになります

ワークシートはGUI上に表示できるようにして、どの列を選択するかを迷わないように調整する予定です

pythonでexcelを操作する方法については、後日まとめていきたいと思います

python excel

pythonのGUIライブラリについて

pythonでGUIアプリを作成すると言っても、作成方法はいくつかあります

pythonにはライブラリと言って、パッケージみたいのがいくつか用意されています

  • tkinter
  • kivy
  • PyQt
  • wxPython
  • PySide

とそれぞれ特徴があります

python GUIライブラリ 特徴

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が作れるライブラリ

Autodesk MAYA 2020

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()
csv列名表示 python file_pathの説明 python file_pathの説明2

Pythonの環境構築で挫折×3回

僕はpythonを始めるまでに、3回ほど挫折しています

どれも環境構築で挫折しました。

最終的にはAnacondaを使った環境構築です。

これからpythonを学ぼうと思っている方は、こちらの記事を参考にすれば、Anacondaをインストールすることができます。

ぜひ参考にしてみてください。

anacondaの構築方法
Pythonの環境構築〜Anacondaとは?〜サンプルコードと図解付きPythonの環境構築を調べると、「Anaconda」という文字を見かけるかと思います。 僕も最初はよくわからなくて、とりあえずwebサイトに書いてある通りに進めていきました。 そのおかげもあり、3回ほど環境構築で挫折をしました。 現在はAnacondaを使ってpythonの学習を進めています。 なので、今回はAnacondaの環境構築について解説をしていこうと思います。 この記事を読んでいるかたが迷子にならないように、画像付きで解説していこうと思いますので、最後までお付き合いください。...

Pythonなどのプログラミング学習で挫折しない方法

Python学習を進めていく上で、

「ひとまず何かしらの書籍に目を通したい」
「webで調べても全くわからない」

という状況が何度も何度でも出てくるかと思います。

そういう時に便利なのが、kindleとテラテイルです。

Kindleはご存知の通り、電子書籍です。

Kindleには多くのpython学習本が用意されており、無料で読むことができます。(たまに有料もあります)

ひとまずどういった書籍があるのか?
もしものために、書籍に目を通しておこう

という場合には、kindleの利用がおすすめです。

kindleでpythonの書籍を無料で読んでみる

python初心者におすすめのプログラミングスクール

書籍を読んでもわからない場合には、プログラミングスクールに通うのも一つの方法です

以下はpythonを学ぶことができるプログラミングスクールです

どれも無料体験がありますが、それぞれの特徴としては、

おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.