问题描述
限时送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:关键词]
发布评论