2015-01-15 225 views
12

我正在Ubuntu上編寫一個Python程序TKinter來導入並打印 來自Text小部件中特定文件夾的文件的名稱。 這只是將文件名添加到Text 窗口小部件中的以前的電影名稱,但我想先清除它,然後添加一個新的文件名列表。 但我正在努力清除Text小部件的前一個列表 文件名。如何清除/刪除Tkinter Text小部件的內容?

有人可以解釋如何清除Text小部件?

Screenshoot和編碼下面給出:

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() 
+1

您是否閱讀過文本小部件的任何文檔?此功能清楚記錄。你說你在掙扎,你能告訴我們你試過了什麼嗎? – 2015-01-15 15:22:51

+1

也許http://effbot.org/tkinterbook/entry.htm#Tkinter.Entry.delete-method – 2015-01-15 15:34:39

+0

你可以在這裏寫一條語句來得到我要求的結果 – Fahadkalis 2015-01-15 15:45:41

回答

33

我只需添加 '1.0' 在我的身邊檢查,並開始工作

tex.delete('1.0', END) 

你也可以試試這個

+0

謝謝,一旦我意識到我需要做一個 tex的工作。config(state = NORMAL) ,然後我可以刪除它。 – Seth 2017-05-17 20:54:22

9

根據tkinterbook的代碼cl耳文本元素應該是:

text.delete(1.0,END) 

這對我有效。 source

它從清除的條目元件,其這樣做不同:

entry.delete(0,END)#note的0,而不是1.0

+0

我發現奇怪的是'1.0'工作(雖然它的確的確如此),因爲我的理解是Tkinter索引應該被指定爲像'1.0'這樣的字符串(這也是可行的,並且是在大多數其他地方同一份文件)。 – martineau 2017-11-11 16:39:38

0
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可以在不定義實際功能的情況下刪除內容。

希望可以幫到

相關問題