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ウィジェットの一番下の行を超えると右側にスクロールバーが表示され、さらに改行が可能になりました。


プログラミングのスキルを活かすには
プログラミングのスキルを仕事に活かすには、フリーランスとして受けられる案件がおすすめです。

テックゲートフリーランスは、フリーランスエンジニアの案件紹介や契約交渉・債権管理などのサポートを行っているフリーランスエージェントです。
- リモートワーク可能な案件が50%以上
- 週3〜4日の案件の豊富さ
- 年収100万円アップのサポート
無料相談フォームからご登録いただくだけで、経験年数やスキルに合わせて案件をご紹介。また、リモートワーク可能な案件や週3〜4日OKの案件も豊富に用意されています。
副業やフリーランスとして仕事を受けてみたいと考えている方には、テックゲートフリーランスが提供する多様なサポートが非常におすすめです。
\ 無料で登録してみる! /
まとめ
今回はtkinterのScrolledTextウィジェットについて解説しました。tkinterで入力フォームなどを作成する際にぜひ活用してみてください。
Tkinterを使ったGUI作成についてさらに詳しく学びたい方には、自分のペースで動画で学べるUdemyの以下の講座もおすすめです。

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

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


コメント