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

  • URLをコピーしました!

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

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

\ Pythonのプログラミングを学びたい人には自宅で学べるUdemyがおすすめ!  /

講座単位で購入できます!

目次

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作成についてさらに詳しく学びたい方には、自分のペースで動画で学べるUdemyの以下の講座もおすすめです。

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

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

スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。

講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。


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

\ Pythonのプログラミングを学びたい人には自宅で学べるUdemyがおすすめ!  /

講座単位で購入できます!

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