Python(Tkinter)で直接実行可能なクロスプラットフォームGUIアプリを作成する方法
Pythonは、Microsoft Windows、macOS、Linuxなどさまざまなオペレーティングシステムで動作するクロスプラットフォームアプリケーションを作成できるプログラミング言語です。
GUIベースのアプリケーションを作成する際には、標準ライブラリのTkinterを利用できます。さらに、Pythonには作成したプログラムを実行可能ファイル(アプリケーション)へ変換するためのモジュールや拡張機能が複数用意されており、OSごとに適切なツールを選ぶことで、Pythonがインストールされていない環境でも動作するアプリを配布できます。
Windows用の実行ファイル:PyInstaller、py2exe
Linux用の実行ファイル:Freeze
Mac用の実行ファイル:py2app
例:PyInstallerを使って実行ファイルを作成する
ここでは、Windows環境を例に、pipコマンドを使ってPyInstallerモジュールをインストールする手順を紹介します。まず、以下のコマンドを実行してください。
pip install pyInstaller
インストールが完了したら、このモジュールを使ってアプリケーションを実行可能ファイルに変換できます。
サンプルコード(app.py)
このアプリケーションでは、ドロップダウンメニューからユーザーに曜日を選択してもらうシンプルなGUIを構築します。
# 必要なライブラリをインポート
from tkinter import *
# tkinterフレームのインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("700x350")
# ラベルを追加
Label(win, text="メニューから曜日を選択してください",
font=('Aerial 13')).pack(pady=10)
# 選択内容を保存するための変数を作成
var = StringVar()
# OptionMenuウィジェットを作成し、選択肢を追加
option = OptionMenu(win, var, "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日")
option.config(bg="gray81", fg="white")
option['menu'].config(bg="green3")
option.pack(padx=20, pady=30)
win.mainloop()実行結果
スクリプトを実行すると、プルダウンメニューから曜日を選択できるウィンドウが表示されます。
Pythonで実行可能ファイルを作成する手順
スクリプト(app.py)が保存されているフォルダでコマンドプロンプトを開き、実行ファイルを作成するためのコマンドを入力します。
pyinstaller app.py
コマンドの実行が完了すると、実行ファイルapp.exeを含むフォルダが自動的に生成されます。生成されたexeファイルをダブルクリックすれば、Python環境がないPC上でもアプリケーションを起動できます。
-
PythonとTkinterでデジタル時計を作成する方法【初心者向け解説】
Pythonの標準GUIライブラリ「Tkinter」を使えば、デスクトップアプリケーションを手軽に開発できます。本記事では、Tkinterを活用して、時・分・秒をリアルタイムに表示するデジタル時計を作成する方法を解説します。 デジタル時計の仕組み このプログラムでは、Pythonのtimeモジュールからstrftimeメソッドを使用し、「時:分:秒」形式で現在時刻を取得して表示します。具体的な流れは以下の通りです。 strftime(%H:%M:%S)で現在時刻を文字列として取得する Tkinterのラベル(Label)ウィジェットを作成し、時刻を表示する after()メソッドを使い、20
-
PythonとTkinterで作る!初心者向けシンプルGUI計算機の作り方
このチュートリアルでは、Pythonの標準モジュールTkinterを使用して、シンプルなGUI計算機を作成します。TkinterはPythonに組み込まれているGUIアプリケーション開発用のモジュールで、追加インストールが不要で手軽に使えるのが魅力です。GUIアプリケーションを活用すれば、データや計算結果を視覚的にわかりやすく操作できます。 それでは、シンプルなGUI計算機の作り方を見ていきましょう。 作成の手順 Tkinterからすべての機能を「*」でインポートします。 計算機のインターフェース(ウィンドウ)を作成します。 入力フィールドに数字を入力する関数(input_number)を作