【Python】GUIアプリを簡単に作れるライブラリを使ってみた【Tkinter】

Python

こんにちは、Rumadraです。

 

本日は、ウィンドウアプリが簡単に作れるライブラリTkinterを使っていきたいと思います!

また今回は動作確認のためMacで試しています。

Tkinterとは

Pythonの標準機能として提供されているライブラリです。

Pythonの標準機能ということもあり、Linux, Mac, Windowsなどのクロスプラットフォーム対応してます。

 

GUIアプリとして実装するために必要な処理が簡単にまとめられているので実装はそんなに難しくない印象です。

 

用意されている機能

ざっくりよく使う機能をまとめました。

・ウィンドウの設定
・テキストボックス
・ボタン
・ラジオボックス
・リストボックス
・スクロールバー
・画像の表示
・ラベル

などがあります。

 

実装にはtkinterモジュールを呼び出して使います。

 

 

 

お試しプログラムの作成

今回のプログラムは、こちらの公式ドキュメントを参考に作らせていただきました。

import tkinter as tk


class GuiApp(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.text_box = tk.Entry(width=15)
        self.text_box.insert(tk.END, "何か入力してください。")
        self.text_box.place(x="125", y="75")

        self.submit_btn = tk.Button(self, text="決定", command=self.say_hi)
        self.submit_btn.pack(side="left")

        self.quit = tk.Button(self, text="終了", fg="red",
                              command=self.master.destroy)
        self.quit.pack(side="left")

    def say_hi(self):
        txt = self.text_box.get()
        print("文字が決定されしました。:" + txt)


root = tk.Tk()
root.geometry('400x300')
root.title('サンプルプログラム')

app = GuiApp(master=root)
app.mainloop()

GuiAppクラスを作成し、そのコンストラクタに配置するウィジェットを定義してます。

それでは実際に動作を確認してみましょう。

このように表示されます。

決定」ボタンを押すと、テキストボックスに入力された文字列がプロンプトに出力されます

文字が決定されしました。:This is a TEST!!!!!!

終了」ボタンを押すとウィンドウが閉じられます。

 

まとめ

今回はだいぶざっくりしてますが、やりたいことが確認できたので一旦ここで切り上げます。

 

ポイントと今後の課題として、

・テキストボックスに入力された文字列を内部で引き渡すことができた
ウィジェット(ボタンなど)のスマートな配置方法を調べる
・テキストボックスに日本語が入力できないのがMac環境でのみの現象なのか確認する
Tkinterの慣例的な使い方をもうちょっと調べる
他のウィジェットについても一通り触ってみる
以上、Rumadraでした!

コメント

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