1. TOP
  2. ブログ
  3. 覚えると便利!Tkinter の小技

覚えると便利!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』をさらに活用しましょう!

 

▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!

 

 

    ホワイトペーパーフォームバナー

    【DL可能な資料タイトル】

    • ・プログラムによる建築/土木設計のQCD(品質/コスト/期間)向上
    • ・BIM/CIMの導入から活用までの手引書
    • ・大手ゼネコンBIM活用事例と建設業界のDXについて
    • ・デジタルツイン白書
    • ・建設業/製造業におけるデジタルツインの実現性と施設管理への応用

    詳細はこちら>>>

    PAGE TOP