python 如何清除/删除Tkinter文本小部件的内容?

uemypmqf  于 2023-05-27  发布在  Python
关注(0)|答案(9)|浏览(306)

我正在Ubuntu上的TKinter中编写一个Python程序,用于导入和打印Text小部件中特定文件夹中的文件名。它只是将文件名添加到Text小部件中以前的文件名中,但我想先清除它,然后添加一个新的文件名列表。但是我很难清除Text小部件以前的文件名列表。
有人能解释一下如何清除Text小部件吗?
屏幕截图和编码如下:

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()
2admgd59

2admgd591#

我检查了我的身边,只是添加'1.0',它开始工作

tex.delete('1.0', END)

你也可以试试这个

dsf9zpds

dsf9zpds2#

根据tkinterbook,清除文本元素的代码应该是:

text.delete(1.0,END)

这对我很有效。(资料来源)
这与清除entry元素不同,后者是这样完成的:

entry.delete(0,END)  # Note the 0 instead of 1.0
pftdvrlh

pftdvrlh3#

这个有效

import tkinter as tk
inputEdit.delete("1.0",tk.END)
xienkqul

xienkqul4#

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的使用使我们能够在不定义实际函数的情况下删除内容。

wmvff8tz

wmvff8tz5#

对我来说,“1.0”不起作用,但“0”起作用。这是Python 2.7.12,仅供参考。还取决于如何导入模块。具体操作如下:

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

需要清除时调用以下代码。在我的例子中,有一个保存按钮,用于保存Entry文本框中的数据,单击该按钮后,文本框将被清除

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

p5cysglq6#

我很难弄清楚为什么它对我不起作用。在清除text/ scrolledtext状态之前,请确保将其设置为“正常”:

def clear_text():
    text_area.config(state='normal')
    text_area.delete('1.0', tk.END)
    text_area.config(state='disabled')
2sbarzqh

2sbarzqh7#

我想是这样的:

text.delete("1.0", tkinter.END)

或者如果你做了from tkinter import *

text.delete("1.0", END)

应该可以

xuo3flqw

xuo3flqw8#

很多答案都要求你使用END,但是如果这对你不起作用,试试:
text.delete("1.0", "end-1c")

tv6aics1

tv6aics19#

text.delete(0, END)

这将删除文本框内的所有内容

相关问题