为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除标签 Python

如何删除标签 Python

弑天下 2023-04-18 15:32:49
我的问题是我想要一个跟踪器来跟踪一个句子发送了多少次以及我何时运行:from tkinter import *from pynput.keyboard import Key, Controllerimport timeroot = Tk()messages = 0root.geometry('500x1400')def startn():    global messages    global label    message = "Read the Channel"    spam = int(input('How many sentences will you send?'))    for num in range(0, int((spam))):        messages = int(messages + 1)        label = Label(root, text= messages)        label.pack()    root.mainloop()                                startn()每当我在 label.pack() 之后添加 .destroy 时,它都不会显示任何内容(顺便说一句,spam = 5)在 label.pack() 之后输出带 .destroy 输出不带 .destroy
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

下面的代码应该做你想做的。无需破坏标签,您只需使用 .configure() 方法重新配置相同的标签即可。我怀疑你真正想要的方法是 .pack_forget() 所以我也包含了它。我没有运行这段代码,所以如果您有任何问题,请发表评论,以便我进行更正。


from tkinter import *

from pynput.keyboard import Key, Controller

import time


root = Tk()

messages = 0

label = Label(root) # create your widgets early

root.geometry('500x1400')


def startn():

    global messages

    global label

    message = "Read the Channel"

    spam = int(input('How many sentences will you send?'))

    label.pack() # only need to pack it once

    for num in range(0, int((spam))):

        messages = int(messages + 1)

        label.configure(text= messages) # you should configure instead of making new label


def stopn():

    label.pack_forget() # the label reference still exists, but it is no longer packed. You can destroy the label, but I just leave it for the garbage collector.

    

startn()


root.after(10000, stopn) # will run stopn callback after 10 seconds

root.mainloop() # in my opinion should always be at the end.


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信