删除 Tkinter 画布文本项的内容

编程入门 行业动态 更新时间:2024-10-24 10:16:43
本文介绍了删除 Tkinter 画布文本项的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

如下所示,函数 1 调用另一个函数 (draw_text),以便我可以将我的输出/结果显示到画布内的标签中,并在我的 GUI 中.这一切都很好(感谢 Stack Overflow !!)

As shown below, Function 1 calls another function (draw_text) so that I can display my output / result to a label within the canvas out my GUI. This all work great (thanks to Stack Overflow!!)

# Function 1

def Relay_1():
    arduinoData.write(b'1')
    draw_text(self, 'This is a Test')

# Function 2

def Relay_():
    arduinoData.write(b'1')
    draw_text(self, 'This is another test number 2')

#Function 3

def draw_text(self, text):
    self.canvas.create_text(340,330, anchor='center', text=text,
                            font=('Arial', '10', 'bold'))

现在我的问题:

如何清除标签内容"?每次调用函数 1 或函数 2 时,画布上的结果都会刷新/更新.目前,短信只会覆盖自己.

How do I clear the "contents of the label" that has been created so each time I call Function 1 or 2, the result on the canvas will refresh / update. Currently the text message just overwrites itself.

推荐答案

每次在画布上创建对象时,它都会返回一个标识符.您可以将此标识符传递给画布 delete 方法.

Each time you create an object on a canvas, it returns an identifier. You can pass this identifier to the canvas delete method.

label_id = self.canvas.create_text(...)
...
self.canvas.delete(label_id)

您还可以为一个项目提供一个或多个标签,并使用标签而不是 id:

You can also supply one or more tags to an item, and use the tag rather than the id:

self.canvas.create_text(..., tags=('label',))
...
self.canvas.delete('label')

这篇关于删除 Tkinter 画布文本项的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-30 05:41:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1390175.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:画布   文本   内容   Tkinter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!