Python 如何删除画布中文本的最后一个字符。在tkinter中创建_text()?

Python 如何删除画布中文本的最后一个字符。在tkinter中创建_text()?,python,python-3.x,tkinter,tkinter-canvas,tkinter-entry,Python,Python 3.x,Tkinter,Tkinter Canvas,Tkinter Entry,self.canvas\u textbox=canvas.create\u text290250,text='SOME text',anchor=NW,fill=lime 如何删除某些文本中的最后一个字符,我必须删除最后一个T 我已经尝试了下面的代码,但无法删除整个文本 canvas.deleteself.canvas_文本框,1.0,结束 请任何人在这方面帮助我 要实现这一点,您可以配置已有的项目 为此,首先需要画布的itemcget方法,然后切片字符串并通过画布的itemcconfig方法插

self.canvas\u textbox=canvas.create\u text290250,text='SOME text',anchor=NW,fill=lime

如何删除某些文本中的最后一个字符,我必须删除最后一个T

我已经尝试了下面的代码,但无法删除整个文本

canvas.deleteself.canvas_文本框,1.0,结束


请任何人在这方面帮助我

要实现这一点,您可以配置已有的项目

为此,首先需要画布的itemcget方法,然后切片字符串并通过画布的itemcconfig方法插入字符串

可在此处找到该用法的工作示例:

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

要实现这一点,您可以配置您已有的项目

为此,首先需要画布的itemcget方法,然后切片字符串并通过画布的itemcconfig方法插入字符串

可在此处找到该用法的工作示例:

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文本的字符

语法:canvas.dcharstagOrId,first,last

dchars从一个或多个文本项中删除字符。您可以指定要从哪个索引中删除。例如,canvas.dcharstag 1、3将删除第二、第三和第四个字符

要删除文本的最后一个字符,请使用canvas.indextagOrId,说明符获取最后一个字符的索引。说明符tkiner.END返回字符串的最后一个索引,然后使用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()
Canvas一个名为dchars的方法,可用于删除Canvas文本的字符

语法:canvas.dcharstagOrId,first,last

dchars从一个或多个文本项中删除字符。您可以指定要从哪个索引中删除。例如,canvas.dcharstag 1、3将删除第二、第三和第四个字符

要删除文本的最后一个字符,请使用canvas.indextagOrId,说明符获取最后一个字符的索引。说明符tkiner.END返回字符串的最后一个索引,然后使用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()

这不是你几分钟前问的问题的翻版吗?这不是你几分钟前问的问题的翻版吗?