我正在使用文本小部件上的退格按钮,并且我想在用户单击退格按钮时删除最后一个字符。我正在使用此代码,但未删除先前的值。
input = entry.get("1.0", 'end-2c')
entry.insert("1.0",input, END)
在这里我声明了文本小部件
entry = Text(Keyboard_App, width=97, height=8)
答案 0 :(得分:2)
如果要删除文本,则必须显式调用delete
方法。单独调用insert
不会覆盖现有文本-顾名思义,它会插入。 delete
采用一两个索引。如果仅给出一个索引,它将在索引之后立即删除该字符。如果为两个,它将删除两个索引之间的所有字符。
如果要删除窗口小部件的全部内容,可以使用索引"1.0"
和"end"
:
entry.delete("1.0", "end")
要仅删除最后一个字符,您可以仅使用"end-2c"
,这意味着结束索引减去两个字符(减去一个指的是尾随换行符之前的内容,因此减去两个表示在之前的字符末尾的换行符)。
entry.delete("end-2c")