このようなことで、お困りの方は、いませんか?
・業務効率化のために、Pythonでアプリを作りたい
・「python app.py」ってコマンドラインで実行するようでは、だれも使ってくれない。
・ボタンや文字入力があるような、ちゃんとしたアプリを作りたい
Pythonで、GUIアプリを作る方法を紹介します。
PythonでGUIアプリを作るライブラリである”Tkinter”を使えば、解決できます。
本サイトでは、PythonでGUIアプリを作るなら、「PySimpleGUI」をおすすめしています。ぜひ下記記事を読んでみてください。とても簡単にGUIアプリを作れますよ。
Tkinterとは
Tkinter は Python からGUIを構築・操作するための標準ライブラリ(ウィジェット・ツールキット)である。
ウィキペディア
Tcl/Tk の Tk 部分を Python で利用できるようにしたもので、使い方も可能な限り Tcl/Tk にあわせられるように作られている。 これにより、スクリプト言語である Python から簡単にGUI画面をもったアプリケーションを作ることが可能になる。
Tkinterは、GUIアプリを作るのに、よく使われるライブラリであり、参考となる情報も多いので、初心者にぴったりのライブラリです。
Tkinterを使うための準備
Tkinterは、Pythonに含まれていますので、特に準備する必要はありません。
Tkinterのバージョンを確認してみましょう
コマンドプロンプトから、以下のコマンドを入力します。
python -c "import tkinter;print(tkinter.TkVersion)"
(私の環境では)このような表示が出ます。
8.6
まずは、サンプルアプリを動かしてみよう
Tkinterは、多くの機能を持つので、本サイトでは、段階を分けて紹介していきたいと思っていますが、まずは、どんなものかを体感してもらうために、以下のサンプルアプリを実行してみてください。
#!usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import *
from tkinter import ttk
# ウィンドウを作る
root = Tk()
root.title('テストアプリ')
# ウィジェット(UI部品)の作成
# フレームの作成
frame1 = ttk.Frame(root, padding=16)
# ラベル(文字表示)の作成
label1 = ttk.Label(frame1, text=' あなたの名前は? ')
# エントリ(文字入力欄)の作成
t = StringVar()
entry1 = ttk.Entry(frame1, textvariable=t)
# ボタンの作成
button1 = ttk.Button(
frame1,
text=' 入力完了 ',
command=lambda: print('Hello, %s.' % t.get())
)
# ウィジェットを配置する(レイアウト)
# フレームを配置する
frame1.pack()
# ラベルを一番左に配置する
label1.pack(side=LEFT)
# エントリ(文字入力欄)を、ラベルの左に配置する
entry1.pack(side=LEFT)
# ボタンをエントリの左に配置する
button1.pack(side=LEFT)
# ウィンドウの表示開始
root.mainloop()
以下のコマンドでアプリを実行します。
python app.py
名前を入力して、「入力完了」ボタンを押すと、コマンドプロンプトに、「Hello 名前」と表示されます。
このように、簡単なソースコードで、結構本格的なGUIアプリが作れました。
まとめ
Pythonで、GUIアプリを作る方法を紹介しました。
コメント