vol.67
- コツ・知識
- メールマガジン
アプリもPythonで作れる?Tkinter で簡単なデスクトップアプリを作成してみました!
(約5分で読めます)
~~~~~~~~~目次~~~~~~~~~
1、デスクトップアプリケーションとは?
■デスクトップアプリケーションとは何か
■どのようなデスクトップアプリケーションがあるのか?
■Pythonではどのようなライブラリでデスクトップアプリケーションを作成できるか?
2、Tkinterとは?どのようなことができるの?
■Tkinterの特徴
■Tkinterでできること
3、Tkinterを用いて簡単なデスクトップアプリを作成してみよう!
■作成するアプリケーションの説明
■コードのご紹介
■コードの説明
4、おわりに
~~~~~~~~~~~~~~~~~~~
1.デスクトップアプリケーションとは?
■デスクトップアプリケーションとは何かPCなどのデスクトップ環境上で動作するアプリケーションのことです。
インストールして利用するため、インターネットに接続しなくても利用できるという
メリットがあります。
■どのようなデスクトップアプリケーションがあるのか?
例①スプレッドシート
表形式のデータを作成・編集・計算できるアプリケーションで、
Microsoft Excel、Google Spreadsheetsなどがあります。
※Google SpreadsheetsはGoogle LLCの米国およびその他の国における登録商標または商標です。
例②ビデオ編集ソフト
動画の編集やクリップの結合、効果の追加などができるアプリケーションで、
Adobe Premiere Pro、iMovieなどがあります。
■Pythonではどのようなライブラリでデスクトップアプリケーションを作成できるか?
Pythonでデスクトップアプリケーションを作成できるライブラリはいくつかございます。
今回は3つご紹介いたします。
①Tkinter(ティーケインター)
Pythonに標準で付属しているGUIライブラリで、Pythonの経験の浅い方にも扱いやすいです。
②PyQt(パイキューティー)
C++向けのGUIフレームワークをPythonで使用できるようにしたライブラリです。
商用利用時に注意は必要なものの、開発には非常に優れています。
③Kivy(キビィ)
同一の内容でPC向けだけではなく、
スマートフォンやタブレット向けアプリケーションも作成できるライブラリです。
2.Tkinterとは?どのようなことができるの?
今回は、1章でご紹介した「Tkinter」を使用して、第3章で、簡単なデスクトップアプリケーションを作成してみます。
そのための準備として、第2章では「Tkinter」についてご紹介します。
■Tkinterの特徴
第1章でご説明した通り、Pythonに標準で付属しており、
簡単にデスクトップアプリケーションを作成できます。
ボタン、ラベル、テキストボックス、ラジオボタン、チェックボックスなどを組み合わせて
デスクトップアプリケーションを作成できます。
■Tkinterでできること
・キッチンタイマー
・計算結果を出力する(割り勘した際の支払い費用やBMIの計算 など)
・入力した文字数を数える
・ファイルやフォルダを選択する
上記の機能が搭載されたデスクトップアプリケーションを作成することができます。
3.Tkinterを用いて簡単なデスクトップアプリを作成してみよう!
■作成するアプリケーションの説明以前Webアプリケーションを作成するメルマガで使用した、
割り勘アプリをデスクトップアプリケーションでも作成してみます。
→Webアプリケーションを作成するメルマガはコチラ
■コードのご紹介
今回のコードは、以下の方を対象にしております。
①最低限のPythonの知識がある
(Pythonの基礎知識を身につけられる方法はコチラ)
②「jupyter notebook」や「google colaboratory」などでPythonのコードを書ける環境にある
(GoogleColaboratoryの始め方について記載している過去のメルマガはコチラ)
【コード】
#⓪ライブラリのインポート
import tkinter as tk
from tkinter import messagebox as mbox
#①ボタンを押したときの処理
def calc():
# 1人当たりの費用を計算
total = float(texttotal.get())
number_of_people = float(textpeople.get())
split_the_bill = total / number_of_people
# 結果をラベルに表示
s = f"1人あたり{split_the_bill}円".format()
labelResult['text'] = s
#②ウィンドウを作成
win = tk.Tk()
win.title("割り勘アプリ")
win.geometry("500x250")
#③ウィンドウの中身を作成
labeltotal = tk.Label(win, text=u'合計金額:')
labeltotal.pack()
labelpeople = tk.Label(win, text=u'人数:')
labelpeople.pack()
labelResult = tk.Label(win, text=u'---')
labelResult.pack()
calcButton = tk.Button(win, text=u'結果を見る!')
calcButton["command"] = calc
calcButton.pack()
#④質問内容を記載
texttotal = tk.Entry(win)
texttotal.insert(tk.END, input('合計金額は?:'))
texttotal.pack()
textpeople = tk.Entry(win)
textpeople.insert(tk.END, input('何人で割る?:'))
textpeople.pack()
#⑤ウィンドウを動かす
win.mainloop()
上記を実行いただくと以下の画面が出てきます。
今回は「合計金額は?:」に3,000、「何人で割る?:」に3と入力すると、
以下の画面が現れます。
そして、「結果を見る!」を押すと「1人あたり○○円」と出てきます。
上記はボタンを押した後の画像なので、「1人あたり1000.0円」と出力されています。
※PCの環境によっては、実行できない場合もございますので、
予めご了承くださいませ。
■コードの説明
コードがどのような動きをしているのかを、
簡単にご紹介いたします。
⓪ライブラリのインポート
必要なライブラリをインポートします。
①ボタンを押したときの処理
「結果を見る!」というボタンを押したときの計算方法が記載されています。
また出力する際の言葉もここに記載しています。
②ウィンドウを作成
右上に「割り勘アプリ」と書かれている画面を作成しています。
③ウィンドウの中身を作成
②で作成した画面の中に、入力する内容と結果を出力するボタンを作成しています。
④質問内容を記載
「合計金額は?:」と「何人で割る?:」という質問をしています。
⑤ウィンドウを動かす
④の質問に回答後、ウィンドウが開くようになっています。
4.おわりに
今回は、「デスクトップアプリケーションとTkinter」についてご紹介しました。次回は「自社でPythonを用いて業務改善をした例」をお伝えいたします。
ぜひ次回もご覧くださいませ。
今回も画像生成AIに、ある言葉を入れて以下の画像を作成しました!
解答は、この記事の右下に記載しております。
本日も最後までお読みいただき、ありがとうございます!
それでは、次回もお楽しみに!
A. ヒマワリ