Tkinterでリストボックス(Listbox)の項目テキストを変更する方法
アプリケーション内に項目の一覧を表示したい場合、Tkinterが提供するListboxウィジェットが便利です。Listboxを使うと、複数の項目を縦方向に並べたリストを簡単に作成できます。
ここで問題になるのが「すでに表示されている項目のテキストを変更したい」というケースです。Listboxには項目のテキストを直接書き換えるメソッドがないため、以下の手順で実現します。
- listbox.curselection() を使って、現在選択されている項目のインデックスを取得する
- listbox.delete() で該当する項目を削除する
- listbox.insert() で新しいテキストの項目を挿入する
サンプルコード
# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
# tkinterフレーム(ウィンドウ)のインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("700x350")
# Listboxウィジェットを作成
lb = Listbox(win)
lb.pack(expand=True, fill=BOTH)
# 選択されたリストボックスの項目を編集する関数
def edit():
for item in lb.curselection():
lb.delete(item)
lb.insert("end", "foo")
# Listboxに項目を追加
lb.insert("end", "item1", "item2", "item3", "item4", "item5")
# 項目を編集するためのボタンを配置
ttk.Button(win, text="編集", command=edit).pack()
win.mainloop()コードの解説
- curselection():ユーザーが選択中の項目のインデックスをタプル形式で返します。
- delete(item):指定したインデックスの項目をリストから削除します。
- insert("end", "foo"):リストの末尾に新しい項目「foo」を挿入します。
なお、削除後に挿入すると項目がリストの末尾に移動します。元の位置を維持したい場合は、lb.insert(item, "foo") のように同じインデックス位置へ挿入するように変更してください。
実行結果
上記のコードを実行すると、項目一覧が表示されたウィンドウが現れます。

続いて、リストから任意の項目を選択し、「編集」ボタンをクリックしてみましょう。選択されていた項目が新しいテキストに置き換わります。

-
Tkinterでラベルのテキストを取得する方法を解説
TkinterのLabel(ラベル)ウィジェットは、ウィンドウ上にテキストや画像を表示するために使用される基本的なコンポーネントです。フォントファミリーやパディング、幅・高さなどのオプションを指定することで、ラベルの見た目を自由にカスタマイズできます。ラベルに設定したテキストを取得したい場合は、ラベルウィジェットに対して [text] を指定するだけで、簡単にその値へアクセスできます。以下に具体的なサンプルコードを示します。サンプルコード# 必要なライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウ
-
【保存版】テキストの大文字・小文字を一瞬で変換する方法|Word・Googleドキュメント・Mac・オンラインツール対応
Microsoft WordやGoogleドキュメントで文章を入力した際、「大文字と小文字を間違えて打ってしまった…」という経験はありませんか?「小文字を大文字に(あるいはその逆に)変えたいのに方法がわからない」というお問い合わせを多くいただきます。中には、誤入力した部分を全部消して打ち直そうと考えている方もいますが、実はもっと効率的な解決策があります。幸いなことに、Microsoft Wordをはじめとするほぼすべてのテキストエディタには、選択したテキストの大文字・小文字を変換する機能が標準搭載されています。ITに詳しくない方でも簡単に操作でき、しかもその方法は複数あります。この記事では、そ