プログラミング PR

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

python-desktop
記事内に商品プロモーションを含む場合があります

流行りの「Python」を使えば手軽にデスクトップアプリを開発することができます。デスクトップアプリはWebアプリと比べて実行環境を特別必要としないため、個人で開発するにはうってつけと言えるでしょう。

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

今すぐPython案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

python-sidejob-start
【土日リモートOK】Pythonを使った副業の始め方とおすすめの案件獲得サイト20選Pythonのスキルを活かして副業収入を得たい人向けに本記事では副業の始め方と週1,2日や土日リモートで働ける案件を扱うおすすめのサイトを現役エンジニア目線で厳選して紹介しております。...

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

nocode-sidejob

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によるデスクトップアプリを配布するには?

zipcode

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を実行ファイルに変換するツールを用いてから他の人に配布すると良い。

【2024年最新】Pythonによるデスクトップアプリ開発について学ぶのにおすすめの本3選

books

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

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

  • Pythonではじめるデスクトップアプリ開発入門
  • Python2年生 デスクトップアプリ開発のしくみ
  • 世界一やさしいPythonデスクトップアプリ開発のはじめ方

その【1】Pythonではじめるデスクトップアプリ開発入門

「Python×デスクトップアプリ開発」というニーズに合致した書籍となります。プログラミング知識がゼロからでも学習を始められる構成になっているので挫折しづらいはずです。

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

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

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

その【2】Python2年生 デスクトップアプリ開発のしくみ

『Python2年生デスクトップアプリ開発のしくみ』では、Pythonの基礎知識がある方向けにデスクトップアプリ開発の基本についてわかりやすく解説されております。

Pythonの基礎知識はあるけど、「アプリ開発って初心者には難しそう」「プログラムで何か残るものを作ってみたい」と思っていませんか?本書はそうした方に向けて、初心者にも簡単に作れる方法を使ってデスクトップアプリ開発の基本をやさしく解説します。出典:Amazon

書籍を読むことでPythonによるデスクトップアプリ開発のイロハを知ることができるので、気になる方は併せて読んでみると良いでしょう。

その【3】Pythonでデスクトップアプリを作ろう

本書「Pythonでデスクトップアプリを作ろう」では、プログラミング言語「Python」を使って、パソコンのデスクトップ上で動作する「デスクトップアプリ」の作り方を解説します。出典:Amazon

当書では、PythonとTkinter、SQLite3を使った本格的なデスクトップアプリ開発方法について学ぶことができます。「Python+Tkinter+SQLite3」は、最も手軽にデスクトップアプリを作成できる組み合わせの一つなので、覚えておいて損はしないはずです。

Pythonによるデスクトップアプリ開発について書籍を活用することで体系的に理解することができる。個人的には気になった本を一冊読んでまずは体系的に知識を押さえておくのがおすすめ。

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

python-desktop

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

実際にデスクトップアプリを開発してみることで出てくる不明点などがあるはずです。その際は公式ドキュメントや本記事で紹介したおすすめの書籍などを参考にしつつ学習を進めていくのが良いでしょう。

ここまで記事を読んでいただきありがとうございました。本記事がPythonによるデスクトップアプリ開発に興味のある初学者の方のお役に少しでも立てたのなら幸いです。

今すぐPython案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

python-job-change
【2024年最新】Pythonエンジニアにおすすめの転職エージェント10選「転職エージェントって沢山あるけど結局どこに登録すればいいの?」このように思われているPythonエンジニアの方が多いのではないでしょうか?本記事では上記の悩みを解消すべく、Pythonエンジニアにおすすめの転職エージェントを厳選して10社ご紹介しております。...
python-freelance
【2024年最新】Pythonエンジニアにおすすめのフリーランスエージェント25選 このような方向けに本記事ではPythonエンジニアにおすすめのフリーランスエージェントを現役エンジニア目線で厳選して25社ご紹介...
python-automation-book
【2024年最新】Python×自動化のおすすめ本7選Pythonによる自動化の独学におすすめの本を現役エンジニアが厳選してご紹介。書籍選びに悩んでいる人で書籍での学習による体系的な知識のインプットを行いたい人は是非記事をご覧ください。...
こちらの記事もおすすめ!

COMMENT

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