2017-11-26 38 views
-1

次のコードを実行し、tkinterボタンをクリックすると、出力テキストをクリアできません:tkinter.TclError:不正なテキストインデックス "0"

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "D:\Scypy\lib\tkinter\__init__.py", line 1699, in __call__ 
    return self.func(*args) 
    File "D:\modpu\Documents\Python\DelMe.py", line 5, in click 
    OutputBox.delete(0, END) 
    File "D:\Scypy\lib\tkinter\__init__.py", line 3133, in delete 
    self.tk.call(self._w, 'delete', index1, index2) 
_tkinter.TclError: bad text index "0" 

コードが正しく入力ボックスにテキストをクリアしますが、(それが代わりにクラッシュする)、出力ボックス内のテキストをクリアするために失敗したいくつかの理由:それは次のエラーを生成します。

これについてのお手伝いがあれば、ありがとうございます。ありがとうございます。この場合

from tkinter import * 

def click(): 
    MainTextBox.delete(0, END) #This works 
    OutputBox.delete(0, END) #This doesn't work 

GUI = Tk() 
MainTextBox = Entry(GUI, width = 20, bg = "white") 
MainTextBox.grid(row = 0, column = 0, sticky = W) 
Button(GUI, text = "SUBMIT", width = 6, command = click).grid(row = 1, column = 0, sticky = W) 
OutputBox = Text(GUI, width = 100, height = 10, wrap = WORD, background = "orange") 
OutputBox.grid(row = 4, column = 0, sticky = W) 
OutputBox.insert(END, "Example text") 

GUI.mainloop() 
+0

テキストエントリウィジェット異なっています。エラーでは、 '0'はテキストウィジェットの無効なインデックスです。 –

答えて

0

、これは溶液である:

from tkinter import * 

def click(): 
    MainTextBox.delete(0, END) 
    OutputBox.delete('1.0', END) 

GUI = Tk() 
MainTextBox = Entry(GUI, width = 20, bg = "white") 
MainTextBox.grid(row = 0, column = 0, sticky = W) 
Button(GUI, text = "SUBMIT", width = 6, command = click).grid(row = 1, column = 0, sticky = W) 
OutputBox = Text(GUI, width = 100, height = 10, wrap = WORD, background = "orange") 
OutputBox.grid(row = 4, column = 0, sticky = W) 
OutputBox.insert(END, "Example text") 

GUI.mainloop() 
+0

違いが何であるか説明した方があなたの答えは良いでしょう。それ以外の場合は、コードを行ごとに文字ごとに比較する必要があります。 –

関連する問題