如何删除 tkinter canvas.create_text() 中文本的最后一个字符?
How to delete the last character of text in canvas.create_text() in tkinter?
self.canvas_textbox = canvas.create_text(290, 250, text='SOME TEXT', anchor=NW, fill="lime")
如何删除来自 SOME TEXT
的文本的最后一个字符,我必须删除最后一个 T
。
我试过下面的代码,但它删除了整个文本。
canvas.delete(self.canvas_textbox,"1.0", END)
请任何人帮助我!
为此,您可以配置已有的项目。
为此,您首先需要 canvas 的 itemcget
方法,然后对字符串进行切片,然后通过 itemconfig
插入 字符串canvas.
的方法
可以在此处找到使用的工作示例:
import tkinter as tk
def del_letter():
old_string = canva.itemcget(c_txt, 'text')
new_string = old_string[:-1]
canva.itemconfig(c_txt, text=new_string)
root = tk.Tk()
canva= tk.Canvas(root)
c_txt= canva.create_text(10,10, text='SOME TEXT', anchor='nw')
canva.pack()
butto= tk.Button(root, text='del last letter', command=del_letter)
butto.pack()
Canvas 一种名为 dchars()
的方法,您可以使用它来删除 canvas 文本中的字符。
syntax: canvas.dchars(tagOrId, first, last)
dchars
从一个或多个文本项中删除字符。您可以指定要从哪个索引中删除。例如,canvas.dchars(tag, 1, 3) 将删除第二个、第三个和第四个字符。
要删除文本的最后一个字符,请使用 canvas.index(tagOrId, specifier)
获取最后一个字符的索引。说明符 tkiner.END
returns 字符串的最后一个索引,然后使用 dchars
如下所示。
from tkinter import *
def update(event):
canvas.dchars('text', canvas.index('text' ,END)-1 )
window = Tk()
canvas = Canvas(window,width=300, height=300, bd=0)
canvas.pack()
canvas_textbox = canvas.create_text(20, 70, text='Text', fill="red", tag='text')
canvas.bind('<Button>', update)
window.mainloop()
self.canvas_textbox = canvas.create_text(290, 250, text='SOME TEXT', anchor=NW, fill="lime")
如何删除来自 SOME TEXT
的文本的最后一个字符,我必须删除最后一个 T
。
我试过下面的代码,但它删除了整个文本。
canvas.delete(self.canvas_textbox,"1.0", END)
请任何人帮助我!
为此,您可以配置已有的项目。
为此,您首先需要 canvas 的 itemcget
方法,然后对字符串进行切片,然后通过 itemconfig
插入 字符串canvas.
可以在此处找到使用的工作示例:
import tkinter as tk
def del_letter():
old_string = canva.itemcget(c_txt, 'text')
new_string = old_string[:-1]
canva.itemconfig(c_txt, text=new_string)
root = tk.Tk()
canva= tk.Canvas(root)
c_txt= canva.create_text(10,10, text='SOME TEXT', anchor='nw')
canva.pack()
butto= tk.Button(root, text='del last letter', command=del_letter)
butto.pack()
Canvas 一种名为 dchars()
的方法,您可以使用它来删除 canvas 文本中的字符。
syntax:
canvas.dchars(tagOrId, first, last)
dchars
从一个或多个文本项中删除字符。您可以指定要从哪个索引中删除。例如,canvas.dchars(tag, 1, 3) 将删除第二个、第三个和第四个字符。
要删除文本的最后一个字符,请使用 canvas.index(tagOrId, specifier)
获取最后一个字符的索引。说明符 tkiner.END
returns 字符串的最后一个索引,然后使用 dchars
如下所示。
from tkinter import *
def update(event):
canvas.dchars('text', canvas.index('text' ,END)-1 )
window = Tk()
canvas = Canvas(window,width=300, height=300, bd=0)
canvas.pack()
canvas_textbox = canvas.create_text(20, 70, text='Text', fill="red", tag='text')
canvas.bind('<Button>', update)
window.mainloop()