ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

Python UI ライブラリである Tkinter をカスタマイズしたいなら!「CustomTkinter」

概要

Python というプログラミング言語にはいろいろなライブラリが付属していますが、その中でも GUI ライブラリとして名高いのが「Tkinter」かと思います。

docs.python.org

Python で何か GUI アプリを開発してみたいと一度でも考えたことのある方にとっては、1 度くらい見たことはあるかと思います。

ただ、Tkinter を素のまま使用すると、昔の Windows アプリケーションのようにそっけない GUI でしかアプリを作成することができません。

そこで、今回は素っ気ない Tkinter の UI を劇的に良くすることができる OSS を見つけましたのでご紹介します。

今回ご紹介する OSS は、Python UI ライブラリである Tkinter をカスタマイズすることができる OSSCustom Tkinter」になります。

それでは中身についてみていきましょう。

目次

特徴

Custom Tkinter」は、Tkinter に基づく Python UI ライブラリであり、カスタマイズすることが可能でモダンなウィジェットを提供してくれます。

Custom Tkinter」で作成したウィジェットは通常の Tkinter ウィジェットのように利用でき、組み合わせて使用することもできます。

また、「Custom Tkinter」を使用することで、すべてのデスクトッププラットフォーム(WindowsmacOSLinux)で一貫した UI を提供することができるとのことです。

利用手順

Custom Tkinter」は pip よりモジュールをインストールします。

pip3 install customtkinter

なお、「Custom Tkinter」は現在も活発に開発が進められているということなので、以下のコマンドよりできるだけ頻繁に更新することが推奨されています。

pip3 install customtkinter --upgrade

使用感

サンプルプログラムをがあったので、こちらをみてみましょう。

まずは簡単なボタンをアイコンを表示するソースコードを実行してみます。

import customtkinter

customtkinter.set_appearance_mode("System")  # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue")  # Themes: blue (default), dark-blue, green

app = customtkinter.CTk()  # create CTk window like you do with the Tk window
app.geometry("400x240")

def button_function():
    print("button pressed")

# Use CTkButton instead of tkinter Button
button = customtkinter.CTkButton(master=app, text="CTkButton", command=button_function)
button.place(relx=0.5, rely=0.5, anchor=customtkinter.CENTER)

app.mainloop()

上記サンプルコードを実行すると、以下のような画面が表示されます。

他にも、画像付きボタンを作成することができたり、マップ画像を Tkinter と統合することで任意のウィンドウでマップを操作・表示することができるウィジェットも作成することができるとのことでした。

その他にもたくさんの UI を作成することができるので、サンプルフォルダやドキュメントを参考に作成したいウィジェットなどを探してみても良いかもしれませんね。

github.com

まとめ

今回は、Python UI ライブラリである Tkinter をカスタマイズすることができる OSSCustom Tkinter」をご紹介しました。

Python の標準 GUI ライブラリ「Tkinter」だけでは UI が素っ気なくなってしまうのが PythonGUI アプリケーションを作成する際の課題かなと自分は考えていたので、「Custom Tkinter」によってその課題が解消されたなと思っています。

個人的にはデスクトップアプリを作成する際に Python を採用するかというのは少々議論の余地があると思いますが、Python でも綺麗な GUI アプリを作成することができるということが学べたので、とても勉強になりました。

今後 PythonGUI アプリを作成する際には、一度自分もこちらのモジュールを検討しようかと思います。

みなさまもぜひ一度、こちらの「Custom Tkinter」を見てみたり試してみてはいかがでしょうか。

ライセンス

Creative Commons Zero v1.0 Universal

リンク

github.com