こんにちは、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でした!
コメント