覚えると便利!Tkinter の小技


とにかく扱いやすくて「プログラミングのハードルを下げてくれる」と評判のPython。使う人がどんどん増えているプログラミング言語ですが、そのメリットをしっかり発揮させるためには、多彩な『ライブラリ(よく使うデータ・機能・関数などをまとめたファイル)』とその用途を把握しておく必要があります。

『Tkinter』は、PythonでGPU(グラフィック・ユーザー・インターフェース=操作対象や選択項目をアイコンやイラストで表示するユーザー・インターフェース)を構築して操作するための標準ライブラリです。今回は、そのTkinterでつまづきやすいポイントを解消する小技を紹介します!

 

 

Tkinterの特徴とメリット

 

その前に、まずはTkinterについて簡単に説明しておきましょう。
Tkinterは、スクリプト言語『Tcl』用のGUIツールキット『Tk』を、Pythonで使えるようにしたモジュールです。名前もそのまま「Tkinter=Tkのインターフェース」を指しています。
そして『GUIツールキット』とは、GPUを構成する様々なパーツの集まりのことです。つまりTkinterを使えば、PythonでGPUを簡単に構築できるのです!

とても便利なライブラリなだけに様々な入門記事が書かれていますが、初心者がつまづきやすい部分についてはあまり触れられていない傾向があります。

そこで、以下にそれらを解決するための小技を紹介します!

 

 

メニューに点線が表示されてしまう

 

『Tkinter』では、基本的なメニューを簡単に作ることができます。ですが、「なぜかメニューに点線が表示されてしまう」といったトラブルがあるようです。
これは、以下の記述で解消できます。

 

tearoffオプションを指定して 「False」または「0」に設定する

 

filemenu = Menu(menubar, tearoff=0)

tearoffオプションを指定しておかないと、端末によっては点線が表示されてしまうだけでなく、下階層のメニューがメニューバーから離れて表示されてしまうなどのトラブルも起きるようです。これらを防ぐために、きちんと指定しておきましょう!

 

 

Entry(テキストボックス)のサイズを調整する

 

検索ボックス・入力フォーム・ログインフォームなどに幅広く応用できるEntry。それだけに「デフォルトの大きさ(幅)から変更したい!」と思うことも多いはず。Entryの大きさ(幅)は下記のコードで指定できます。

EditBox = Tkinter.Entry(width= **)

**=任意の数字(ピクセル数) とする。

ごく基本的なテクニックですが、きちんと指定しておくことでウィジェットの見た目を整えられます。

 

 

Entry(テキストボックス)にあらかじめ指定した文言を表示させる

 

さらに、Entryのボックス内にお好みの文言を表示させることもできます。
通販サイトの検索ボックスなどでよく見かける仕様で、例えば楽天トップの検索ボックスには「キーワードから探す」と表示されていますし、ZOZOTOWNの検索ボックスには「何かお探しですか?」と表示されています。

ユーザビリティを高めるこの表示は、下記のコードで実現できます。

insert(Tkinter.END,“表示させる文言”)

 

 

Checkbutton(チェックボックス)のチェックボタンに未チェックがあったらエラーメッセージを表示させる

 

最後にご紹介するのは、チェックボックスを構築できるCheckbuttonの小技です。

・チェックボックスを作る
・チェックボックスの項目にそれぞれ名前を付ける

といった基本はたくさん紹介されていますが、実際のサイトでよく見る「未チェックの項目があったらエラーメッセージを表示させる」方法はあまり知られていません。これは、下記のコードで実現できます。

if Val1.get() == True:
text += “項目1チェック済\n”
else:
text += “項目1が未チェックです\n”

チェック済なら「True」で指定したメッセージが表示されて、未チェックなら「else」で指定したメッセージが表示されます。空欄にされがちな「.get()」ですが、これを活用すればチェック済/未チェックを判定した上でユーザーにやりなおしを促せます!

 

 

いかがでしたか? 『Tkinter』を使う上で「もっとこうしたい!」「ここを解消できたらいいのに」といったプラスアルファのテクニックをご紹介しました。これらの小技を覚えて『Tkinter』をさらに活用しましょう!

 

株式会社キャパでは、アプリの企画・開発についてご相談を承っています。

アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介


関連記事一覧

we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

ホワイトペーパーの入手

ITブログ月間20万PV達成!自社オウンドメディアの運用ノウハウを無料公開しています。
 ダウンロード

記事カテゴリ記事カテゴリ

月別投稿記事

PAGE TOP