Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterのテキストウィジェットに入力したテキストを取得して表示する方法

TkinterのTextウィジェットは、テキストの挿入や情報の表示だけでなく、ウィジェット内に入力されたテキストを取得することもできます。ユーザーがTextウィジェットに入力した内容を取得するには、get()メソッドを使用します。この記事では、実際のコード例を通じて、入力内容を取得して画面に表示する方法を解説します。

get()メソッドの基本的な使い方

Textウィジェットのget()メソッドは、取得したい範囲の「開始位置」と「終了位置」を引数として指定します。よく使われる指定方法は以下の通りです。

  • "1.0" … 1行目の0文字目(テキストの先頭)から取得を開始する
  • "end-1c" … テキスト末尾の自動的に挿入される改行文字を除外して、最後の文字まで取得する

この2つを組み合わせることで、ウィジェットに入力されたすべてのテキストを正確に取得できます。

コード例

# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk

# tkinterフレームのインスタンスを作成
win = Tk()

# ウィンドウサイズを設定
win.geometry("700x350")

def get_input():
    # Textウィジェットの内容を取得してLabelに表示
    label.config(text=text.get(1.0, "end-1c"))

# テキストウィジェットを追加
text = Text(win, width=80, height=15)
text.insert(END, "")
text.pack()

# 入力内容を取得するためのボタンを作成
b = ttk.Button(win, text="Print", command=get_input)
b.pack()

# 結果を表示するLabelウィジェットを作成
label = Label(win, text="", font=('Calibri 15'))
label.pack()

win.mainloop()

実行結果

上記のコードを実行すると、Textウィジェットと「Print」ボタンが配置されたウィンドウが表示されます。Textウィジェットに任意のテキストを入力し、「Print」ボタンをクリックすると、get()メソッドによって入力内容が取得され、ウィンドウ下部のLabelウィジェットに入力したテキストが表示されます。

Tkinterのテキストウィジェットに入力したテキストを取得して表示する方法


  1. Tkinterでテキストウィジェットを読み取り専用(無効化)にする方法

    Tkinterでは、テキストウィジェットを無効化(disabled)したいケースがあります。これを実現するには、テキストウィジェットの state オプションを DISABLED に設定します。こうすることでテキストウィジェットがフリーズし、読み取り専用の状態になります。この記事では、テキストウィジェットとボタンを作成し、ボタンをクリックするとテキストウィジェットを即座に無効化できるサンプルを紹介します。コード例# ライブラリのインポート from tkinter import * # ウィンドウのインスタンスを作成 win = Tk() # ウィンドウのサイズを設定 win.geomet

  2. Tkinterでウィジェットの現在のX・Y座標を取得する方法

    Tkinterは、PythonでGUIアプリケーションを開発するために広く利用されている標準ライブラリです。ボタン、テキストボックス、ラベルなど、さまざまなウィジェットが用意されており、これらを組み合わせることで直感的なユーザーインターフェースを構築できます。さらに、ウィジェットの配置位置や座標も、専用の関数やライブラリを使って柔軟にカスタマイズすることが可能です。ここでは、Tkinterフレーム上に配置したウィジェットの実際の座標を取得する方法を紹介します。ウィジェットの正確な座標を知りたい場合には、Tkinterライブラリが提供するgeometry(ジオメトリ)関連のメソッドを活用します。