【发布时间】:2015-10-06 13:21:12
【问题描述】:
我真的被困在一个基本的事情上:我有这个代码
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()
当我一直运行它时,我按下按钮它会创建一个新标签,但我只想更新 label1 的文本。
【问题讨论】:
-
1.不要链接你的几何方法。你用
frame1正确地做到了,但用label1和puls1做错了。 2. 每次你按下按钮,它都会创建一个新标签,因为你告诉它这样做。首先在mainscreen()中创建标签,然后让cd()简单地用label1.config(text=e)更新它。 -
嗯现在我有以下情况:在 mainscreen() 我有 label1= Label(mainscreen).pack 但是当我按下 puls1 它给我一个错误,说在 cd() label1 不是已定义。
-
然后在安全的地方创建
label1以防止垃圾收集(在函数之外)。同样,不要链接几何方法。
标签: python windows button tkinter label