PythonでGUI作成 tkinterでScrolledTextウィジェットを使って複数行のテキスト入力エリアを作成する方法

  • URLをコピーしました!

PythonのGUIライブラリ、tkinterを使ってGUIアプリケーションを作るシリーズ第4回目は改行可能なテキストボックスを作成します。複数行のテキストボックスを実装するためのScrolledTextウィジェットの作成方法について解説します。

また、フォームの作成や他のウィジェットの使い方については以下の記事で解説していますので、あわせてご覧ください。

目次

tkinterとは

tkinterはGUI(グラフィカルユーザーインタフェース)を実装するためのPythonの標準ライブラリです。ボタンやテキストボックス、画像表示などユーザーがキーボードやマウスで操作可能なインタフェースを構築することができます。

公式ドキュメントは以下から参照できます。

改行可能なテキストボックス ScrolledTextウィジェット

ScrolledTextウィジェットは複数行の入力が可能なテキストボックスです。行数がテキスト入力エリアの上限を超えるとスクロールバーが表示されます。

ScrolledTextウィジェットを作成するコードは以下となります。
第1引数は配置するフォーム、widthは横幅、heightは高さ、fontはフォントの種類とサイズを指定しています。

st= scrolledtext.ScrolledText(
    root, 
    width=40, 
    height=20,
    font=("Helvetica",
    15))

作成したソースコード

作成したソースコードは以下の通りです。

import tkinter as tk
from tkinter import scrolledtext

#ウィンドウを作成
root = tk.Tk()

#ウィンドウサイズを指定
root.geometry("640x480")

#ウィンドウタイトルを指定
root.title('scrolledtext test')

#ScrolledTextウィジェットを作成
st= scrolledtext.ScrolledText(
    root, 
    width=40, 
    height=20,
    font=("Helvetica",
    15))

#ウィジェットを配置
st.pack()

#ウィンドウ表示継続
root.mainloop()

scrolledtextモジュールをインポートする必要がありますのでご注意ください。

実行結果

実行結果は以下の通りです。

フォームを起動するとテキスト入力エリアが表示されています。

文字を入力し、改行を繰り返していってScrolledTextウィジェットの一番下の行を超えると右側にスクロールバーが表示され、さらに改行が可能になりました。

まとめ

今回はtkinterのScrolledTextウィジェットについて解説しました。tkinterで入力フォームなどを作成する際にぜひ活用してみてください。

また、Tkinterを使ったGUI作成について動画で学びたい方は以下の講座もおすすめです。

0から始めるTkinterの使い方完全マスター講座〜Python×GUIの基礎・応用〜 icon

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次