Я действительно застрял на basilary вещи: у меня есть этот кодпроблемы с обновлением метки Tkinter
from tkinter import *
import sys
import subprocess
import tkinter as tk
def cd():
f=(subprocess.check_output("net view"))
e=(f.decode(sys.stdout.encoding))
label1=Label(text=e).pack()
def mainscreen():
mainscreen=Tk()
mainscreen.title("Terfysgol's kit V 2.0")
frame1=Frame(mainscreen)
frame1.pack()
puls1=Button(frame1,text="List of device", borderwidth= "2",command= cd).pack()
mainscreen()
Когда я бегу это все время, что я нажимаю на кнопку она создать новую метку, но Я хочу только обновить текст метки1.
1. Не связывайте свои методы геометрии. Вы сделали это правильно с 'frame1', но неправильно с' label1' и 'puls1'. 2. Каждый раз, когда вы нажимаете кнопку, он создает новый ярлык, потому что вы ему сказали. Сначала создайте метку в 'mainscreen()', а затем 'cd()' просто обновите ее с помощью label1.config (text = e) '. – TigerhawkT3
Ум сейчас у меня следующая ситуация: в mainscreen() у меня есть label1 = Label (mainscreen) .pack, но когда я нажимаю puls1, он дает мне erro, который говорит, что в cd() label1 не определен. – Terfysgol
Затем создайте «label1» где-нибудь в безопасности от сбора мусора (вне функции). И снова, не связывайте методы геометрии. – TigerhawkT3