プログラミング

【超入門】Pythonによるデスクトップアプリの作り方と配布方法

Pythonによるデスクトップアプリ開発

流行りの「Python」を使えば手軽にデスクトップアプリを開発することができます。

デスクトップアプリはWebアプリと比べて実行環境を特別必要としないため、個人で開発するにはうってつけと言えるでしょう。

デスクトップアプリなら個人でも気軽に開発できる。

そこで本記事では初心者の方向けにPythonによるデスクトップアプリの作り方と実行ファイルの配布方法について解説いたします。

ハニ太郎
ハニ太郎
Pythonでデスクトップアプリ開発に挑戦してみよう♪
python-side-job
【土日在宅OK】Pythonの副業におすすめの案件紹介サイト5選土日を有効活用してPython副業をしてみたい!そんな方向けに本記事ではPythonの副業案件を扱うおすすめの案件紹介サイトを厳選して5つご紹介しております。...

【入門】Pythonによるデスクトップアプリの作り方

アプリ開発

Pythonによるデスクトップアプリの作り方には様々な方法が存在しますが、本章では主にTkinterというPython標準ライブラリを用いた方法について解説していきたいと思います。

Tkinterライブラリによるデスクトップアプリの作り方

Tkinterとは、Python標準のGUI構築ライブラリで、クロスプラットフォーム対応のGUIツールキットである「Tcl/Tk」をPythonで利用できるようにしたものになります。

TkinterはPythonの標準ライブラリなのでpipなどを用いて別途インストールする必要はありません。

早速、Pythonのコードを記述していきましょう。以下の通りプログラムを記述することでウィンドウを表示させることができます。

# Tkinterライブラリをインポートする
import tkinter
# Tkinterインスタンスの生成
# 変数を使ってウィンドウの設定を行う
root = tkinter.Tk()
# ウィンドウのタイトルを指定する
root.title("DEMO APP")
# ウィンドウサイズを指定する。横×縦
root.geometry("480x320")
# ウィンドウの描画
root.mainloop()

 

次に入力欄とボタンを作ってみましょう。以下のコードでは実行ボタンがクリックされることによって関数が呼び出されダイアログが表示される仕組みになっております。

from tkinter import messagebox

# 入力欄の作成はEntryを使用する。widthで幅を指定。
input_field = tkinter.Entry(width=40)
# placeプロパティにて配置箇所をX,Y座標で指定する
input_field.place(x=20, y=100)
# ボタンクリック時に呼び出す関数を定義
def click_botton():
    """
    入力欄の値をget()にて取得。
    入力値をダイアログに表示する。
    """
    input_value = input_field.get()
    messagebox.showinfo("イベント",input_value + "が入力されました。")

# ボタンの作成はButtonを使用する。commandにて実行関数を指定する。
button = tkinter.Button(text="実行", command=click_botton)
# placeプロパティにて配置箇所をX,Y座標で指定する
button.place(x=20, y=140)

 

これまでに解説した内容を応用させることでも十分利用するに値するデスクトップアプリを開発することができるはずです(^^)

もちろんPythonの標準ライブラリであるTkinterを用いれば、他にも様々な実装をすることができますので興味のある方は公式ドキュメントを覗いてみることをおすすめします。

Pythonの標準ライブラリであるTkinterを用いれば少ないコードで簡単にデスクトップアプリを開発することができる。

 

その他のライブラリを用いたデスクトップアプリの作り方

前節ではPythonの標準ライブラリであるTkinterを用いたデスクトップアプリの作り方について解説しましたが、他のライブラリを用いてもデスクトップアプリ開発は可能です。

具体的には以下のライブラリがデスクトップアプリ開発でよく用いられます。

本記事では詳細を省きますが、興味のある方はそれぞれのリンク先に飛んでみてください。

ちなみにですが初心者の方は参考文献が多く、扱いやすいTkinterの学習から始めることを個人的にはおすすめしておきます(^^)

Tkinter以外のライブラリを用いてもデスクトップアプリ開発は可能。

 

Pythonによるデスクトップアプリを配布するには?

ファイル配布

Pythonで作ったプログラムを配布する際に、相手の人にPython本体やライブラリのインストールを依頼するのはなかなか大変です。

そこで、Pythonを単体の実行ファイルに変換して配布できれば便利だと言えるでしょう。

本章ではWindowsとMac、それぞれでPythonを実行ファイルに変換して他の人にプログラムを配布する方法について解説していきます。

Windowsでの配布方法

Windowsでの配布ならPyInstallerというPython(ライブラリ含め)を実行ファイルに変換するツールを用いるのが良いでしょう。

PyInstallerは標準で搭載されている訳ではないため、pipにてインストールが必要となります。

なお、PyInstalllerの使い方は以下の通りです。コマンドプロンプトを開き、Pythonファイルが格納されているディレクトリに移動した後、以下のコマンドを実行してみましょう。

# 以下のコマンドを実行することで「.exe」ファイルが生成される。
# --onefileオプションを指定すると配布ファイルが一つに纏まる。
# --noconsoleオプションを指定するとコンソール画面が表示されなくなる。
pyinstaller (Pythonファイル) [--onefile] [--noconsole]

 

実行ディレクトリに「dist」というフォルダが作成され、その中に「.exe」で終わる実行ファイルが生成されているはずです。

この実行ファイルを他の人に配布することで簡単にPythonのプログラムを共有できます。

Macでの配布方法

Macでの配布なら「cx_Freeze」というPython(ライブラリ含め)を実行ファイルに変換するツールを用いるのが良いでしょう。

cx_Freezeは標準で搭載されている訳ではないため、pipにてインストールが必要となります。

なお、cx_Freezeの使い方は以下の通りです。ターミナルを開き、Pythonファイルが格納されているディレクトリに移動した後、以下のコマンドを実行してみましょう。

python setup.py bdist_mac

 

なお、Pythonスクリプトを実行ファイルに変換するためのオプションを設定するsetup.pyを事前に作成しておく必要があります。

setup.pyファイルの仕様については公式サイトを参照してみてください。(コードサンプルはこちらにて閲覧可能です)

WindowsならPyInstaller、Macならcx_FreezeというPythonを実行ファイルに変換するツールを用いてから他の人に配布すると良い。

 

Pythonによるデスクトップアプリ開発について学ぶのにおすすめの本

おすすめ本

前章までPythonのライブラリTkinterによるデスクトップアプリの作り方ならびに効率的な配布方法について解説してきました。

本章では、更にデスクトップアプリ開発のスキルを高めていきたいと考えている方向けにおすすめの本を紹介したいと思います。

結論、個人的におすすめの本は『Pythonではじめるデスクトップアプリ開発入門』です。

「Python×デスクトップアプリ開発」というニーズに合致した書籍となります。

本書は、プログラミングの知識がゼロからでも学習をはじめられます。最終的には、自身で小~中規模のデスクトップアプリケーションを開発できるようになることを目標にしています。本書を終えるころには、Pythonの公式ドキュメントや他の入門書を読む力も身につきます。出典:Amazon

当書をを読み終える頃には実践的なデスクトップアプリの開発手法ならびに実行ファイルへの変換、外部へのアプリ公開方法について理解が深まっていることでしょう。

Pythonによるデスクトップアプリ開発について学ぶなら当書を手に取って損はしないはずなので是非中身を覗いてみてください(^^)

Pythonによるデスクトップアプリ開発のスキルを更に高めていきたい場合は『Pythonではじめるデスクトップアプリ開発入門』で学習を進めるのがおすすめ。

 

Pythonによるデスクトップアプリを開発してみよう!

駆け出しエンジニア

本記事を読んでPythonによるデスクトップアプリの作り方ならびに配布方法についての基礎を理解できたら早速、実践に取り掛かりましょう。

実際にデスクトップアプリを開発してみることで出てくる不明点などがあるはずです。

その際は公式ドキュメントや本記事で紹介したおすすめの書籍などを参考にしつつ学習を進めていくのが良いでしょう(^^)

ハニ太郎
ハニ太郎
ここまで記事を読んでいただきありがとうございました♪

本記事がPythonによるデスクトップアプリ開発に興味のある初学者の方のお役に少しでも立てたのなら幸いです。ではっ!!!

python-side-job
【土日在宅OK】Pythonの副業におすすめの案件紹介サイト5選土日を有効活用してPython副業をしてみたい!そんな方向けに本記事ではPythonの副業案件を扱うおすすめの案件紹介サイトを厳選して5つご紹介しております。...
Python自動化おすすめ本
【2021年版】Pythonによる自動化の学習におすすめの本5選Pythonを使った自動化について学びたい!そんな初学者の方向けに本記事では「Pythonによる業務自動化」の学習におすすめの本を厳選して5冊紹介しております。...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です