PythonでGUIを作成する際、Tkinterはよく使用されますが、デザインが古臭いと感じることもあります。そこで、Tkinterをベースにしたカスタマイズ可能なUIライブラリ、CustomTkinterを紹介します。
CustomTkinterの特徴
CustomTkinterは、角が丸いウィジェットの見た目が特徴で、通常のTkinterウィジェットのように利用できます。また、CustomTkinterはコードベースでGUIを作成しますが、慣れていないと作成に苦労することがあります。
CustomTkinterの基本的なコード
まず、CustomTkinterをインストールします。
$ pip install customtkinter
CustomTkinterの書き方はTkinterとよく似ています。例えば、テキスト入力欄とボタンがあるシンプルなGUIの場合、コードは以下のようになります。
import customtkinter
FONT_TYPE = "meiryo"
class App(customtkinter.CTk):
def __init__(self):
super().__init__()
# メンバー変数の設定
self.fonts = (FONT_TYPE, 15)
# フォームサイズ設定
self.geometry("350x200")
self.title("Basic GUI")
# フォームのセットアップをする
self.setup_form()
def setup_form(self):
# CustomTkinter のフォームデザイン設定
customtkinter.set_appearance_mode("dark") # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue") # Themes: blue (default), dark-blue, green
# テキストボックスを表示する
self.textbox = customtkinter.CTkEntry(master=self, placeholder_text="テキストを入力してください", width=220, font=self.fonts)
self.textbox.place(x=60, y=50)
# ボタンを表示する
self.button = customtkinter.CTkButton(master=self, text="クリックしてね", command=self.button_function, font=self.fonts)
self.button.place(x=100, y=100)
def button_function(self):
# テキストボックスに入力されたテキストを表示する
print(self.textbox.get())
if __name__ == "__main__":
# アプリケーション実行
app = App()
app.mainloop()
このサンプルでは、ウィジェットの配置にplace
を使用していますが、place
は極力使用せず、grid
やpack
を使用することをおすすめします。
まとめ
CustomTkinterは、PythonでモダンなGUIを作成するための強力なツールです。この記事では、その基本的な使用方法と特徴を紹介しました。これからPythonでGUIを作成する際には、CustomTkinterの使用を検討してみてください。.