0
0
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Python】tkinterを使用してText領域に縦スクロールバーを表示する方法

Posted at

はじめに

tkinterにてText領域に縦スクロールバーを表示する方法を紹介します。
また、縦スクロールバーをマウスでつかんで上下に動かす方法もあわせて紹介しています。
Text領域に縦スクロールバーを表示する際の参考になれば幸いです。

開発環境

・WSL2/Ubuntu環境
・Python: 3.10.12

Text領域で縦スクロールバーを表示する方法

sample_bar_vertical_scroll.py
import tkinter as tk
from tkinter import Text


# configure root
root = tk.Tk()
root.title("Sample_Bar_Vertical_Scroll")
root.geometry("800x600")

# display bar_vertical_scroll
bar_vertical_scroll = tk.Scrollbar(root, orient=tk.VERTICAL)
bar_vertical_scroll.pack(side=tk.RIGHT, fill=tk.Y)

# make text
area_text = Text(root, wrap="word", undo=True, yscrollcommand=bar_vertical_scroll.set)
area_text.pack(fill="both", expand=True)

# configure bar_vertical_scroll
bar_vertical_scroll.config(command=area_text.yview)

# display window
root.mainloop()


プログラムの動作

 # display bar_vertical_scroll
tk.Scrollbarでスクロールバーを作成し、side=tk.RIGHTで縦スクロールバーを右側に配置しています。

 # make text
Text領域を作成し、yscrollcommand=bar_vertical_scroll.setにてText領域がスクロールされた際に、縦スクロールバーの位置を更新します。この設定だけでもText領域を十字キーで上下に動くと、縦スクロールバーも上下に動きます。ただ、マウスで縦スクロールバーを動かしてもText領域は上下に動きません。

 # configure bar_vertical_scroll
縦スクロールバーが上下に動いた際、Text領域の表示位置を更新します。この設定を含めることで、マウスで縦スクロールバーを動かすとText領域も上下に動きます。

参考文献

本記事は以下情報を参考にして執筆しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0