web-dev-qa-db-ja.com

Tkinter Textウィジェットのコンテンツをクリア/削除する方法は?

UbuntuのTKinterのPythonプログラムを作成して、Textウィジェットの特定のフォルダーからファイルの名前をインポートおよび印刷します。ファイル名を追加するだけです。 Textウィジェットの以前のファイル名ですが、最初にクリアしてから、ファイル名の新しいリストを追加しますが、Textウィジェットの以前のファイル名のリストを削除するのに苦労しています。

誰かがTextウィジェットをクリアする方法を説明できますか?

スクリーンショットとコーディングは次のとおりです。

screenshot showing text widget with contents

import os
from Tkinter import *

def viewFile():
    path = os.path.expanduser("~/python")
    for f in os.listdir(path):
        tex.insert(END, f + "\n")

if __name__ == '__main__':
    root = Tk()

    step= root.attributes('-fullscreen', True)
    step = LabelFrame(root, text="FILE MANAGER", font="Arial 20 bold italic")
    step.grid(row=0, columnspan=7, sticky='W', padx=100, pady=5, ipadx=130, ipady=25)

    Button(step, text="File View", font="Arial 8 bold italic", activebackground=
           "turquoise", width=30, height=5, command=viewFile).grid(row=1, column=2)
    Button(step, text="Quit", font="Arial 8 bold italic", activebackground=
           "turquoise", width=20, height=5, command=root.quit).grid(row=1, column=5)

    tex = Text(master=root)
    scr=Scrollbar(root, orient=VERTICAL, command=tex.yview)
    scr.grid(row=2, column=2, rowspan=15, columnspan=1, sticky=NS)
    tex.grid(row=2, column=1, sticky=W)
    tex.config(yscrollcommand=scr.set, font=('Arial', 8, 'bold', 'italic'))

    root.mainloop()
23
Fahadkalis

「1.0」を追加するだけで自分の側を確認し、機能し始めました

tex.delete('1.0', END)

あなたもこれを試すことができます

48
Fahadkalis

Tkinterbookによると、テキスト要素をクリアするコードは次のようになります。

text.delete(1.0,END)

これは私のために働いた。 ソース

これは、次のように行われるエントリ要素のクリアとは異なります。

entry.delete(0、END)#1.0ではなく0に注意

14
DaanP

これは動作します

import tkinter as tk
inputEdit.delete("1.0",tk.END)
5
saigopi
_from Tkinter import *

app = Tk()

# Text Widget + Font Size
txt = Text(app, font=('Verdana',8))
txt.pack()

# Delete Button
btn = Button(app, text='Delete', command=lambda: txt.delete(1.0,END))
btn.pack()

app.mainloop()
_

前述のtxt.delete(1.0,END)の例を次に示します。

lambdaを使用すると、実際の関数を定義せずにコンテンツを削除できます。

役立つことを願っています

3
loxsat

私にとっては「1.0」は機能しませんでしたが、「0」は機能しました。これはPython 2.7.12、ちょうどFYIです。モジュールのインポート方法にも依存します。以下にその方法を示します。

import Tkinter as tk
window = tk.Tk()
textBox = tk.Entry(window)
textBox.pack()

そして、それをクリアする必要があるときに、次のコードが呼び出されます。私の場合、[入力]テキストボックスからデータを保存する[保存]ボタンがあり、ボタンをクリックするとテキストボックスがクリアされます

textBox.delete('0',tk.END)
0