Pythonで、GUIアプリを作る方法(Tkinter)

Python

Pythonで、GUIアプリを作る方法を紹介します。

このようなことで、お困りの方は、いませんか?

・業務効率化のために、Pythonでアプリを作りたいけど、「python app.py」ってコマンドラインで実行するようでは、だれも使ってくれない。

・ボタンや文字入力があるような、ちゃんとしたアプリを作りたい

このような困りごとを解決します。

PythonでGUIアプリを作るライブラリである”Tkinter”を使えば、解決できます。

広告

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アプリを作る方法を紹介しました。

広告

参考

Tkinter で GUI を作る基本 - Tkinter による GUI プログラミング - Python 入門
プログラミング言語 Python を始める人のための入門サイト。開発環境の設定方法、言語の基礎から少し発展的な話題まで、Python の基礎知識をわかりやすく整理しています。

コメント

タイトルとURLをコピーしました