Tkinterのテキストボックスで文字揃え(位置合わせ)を設定する方法
TkinterのText(テキスト)ウィジェットは、複数行にわたるユーザー入力を受け付けることができる多機能な部品です。フォントの種類やサイズ、文字色、背景色などの各種プロパティは、configure()メソッドを使って自由に設定できます。
本記事では、その中でも「テキストの位置合わせ(justify)」に焦点を当て、Textウィジェット内の文字列を中央揃えにする方法を解説します。
テキストの位置合わせを設定する手順
Textウィジェット内のテキストの揃え位置を変更するには、tag_add()メソッドとtag_configure()メソッドを組み合わせて使用します。具体的には、tag_configure()のオプションとしてjustifyを指定し、その値にCENTER(中央揃え)を設定します。
タグを使った設定の流れは以下のとおりです。
- tag_configure()で、justify='center' を持つタグを作成する
- insert()でテキストを挿入する
- tag_add()で、挿入したテキスト全体(先頭から末尾まで)にタグを適用する
サンプルコード
# 必要なライブラリをインポート
from tkinter import *
# tkinterのフレーム(ウィンドウ)のインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("700x350")
# テキストウィジェットを作成
text = Text(win, width=40, height=10)
# テキストの配置を中央揃えに設定
text.tag_configure("center", justify='center')
text.insert(INSERT, "Welcome to Tutorialspoint...")
# 先頭から末尾までのテキストにタグを適用
text.tag_add("center", 1.0, "end")
text.pack()
win.mainloop()実行結果
上記のコードを実行すると、テキストウィジェット内の文字列が中央揃えで表示されます。カーソル位置に関係なく、タグが適用された範囲全体に対してjustifyの設定が反映される点がポイントです。
なお、justifyオプションには 'left'(左揃え)、'right'(右揃え)も指定できます。用途に応じて使い分けることで、見やすいUIを構築できます。
-
Tkinterでボタンのテキストサイズをウィンドウに合わせて動的に変更する方法
Tkinterのフレーム内にボタンを作成した際、ボタンのテキストをメインウィンドウのサイズに合わせて動的に拡大・縮小させたいケースはよくあります。ボタン自体はButtonウィジェットを使えば簡単に作成できますが、テキストサイズを動的に変化させるには、いくつかの機能を組み合わせる必要があります。この記事では、テキスト付きのボタンを作成し、Gridメソッドのrowconfigure()とcolumnconfigure()を使って、メインウィンドウ(ルートウィンドウ)のリサイズに追従できるようにする方法を解説します。bind(<Configure>)でイベントを結び付けるボタンのテキスト
-
【Python】Tkinterでテキストボックス(テキストウィジェット)の内容を削除する方法
Tkinterには、ボタン、ダイアログボックス、各種ウィジェットなど、本格的なGUIアプリケーションを構築するための豊富な関数やモジュールが用意されています。複数行のテキストを扱えるテキストウィジェットを作成するには、Textウィジェットを使用します。これはコンストラクタとして機能し、親となるウィンドウやフレームを指定して呼び出します。作成したテキストウィジェットの内容を削除するには、組み込みメソッドdelete(first, last=None)を使います。このメソッドは、削除対象となる範囲(開始位置と終了位置)を引数として受け取ります。この記事では、クリックするとテキストボックス内の内容を