代码之家  ›  专栏  ›  技术社区  ›  Jawad Malik

将值插入文本小部件中删除以前的值-tkinter

  •  1
  • Jawad Malik  · 技术社区  · 7 年前

    我正在使用 退格 按钮上的文本小部件,我想删除最后一个字符每当用户点击 退格 按钮。我正在使用此代码,但它没有删除以前的值。

    input = entry.get("1.0", 'end-2c')
            entry.insert("1.0",input, END)
    

    我在这里声明文本小部件

    entry = Text(Keyboard_App, width=97, height=8)
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Bryan Oakley    7 年前

    如果要删除文本,必须显式调用 delete 方法。打电话 insert 单独使用不会覆盖现有的文本——正如名称所暗示的那样,它会插入文本。 删除 获取一个或两个索引。如果只给出一个索引,则会立即删除索引后的字符。如果是两个,则删除两个索引之间的所有字符。

    如果要删除小部件的全部内容,可以使用索引 "1.0" "end" :

    entry.delete("1.0", "end")
    

    只删除最后一个字符 "end-2c" ,这意味着结束索引减去两个字符(减去一个是在尾随的换行符之前,所以减去两个是指字符 之前 尾随的换行符)。

    entry.delete("end-2c")