刷新我的tkinter标签,并用不同的输出内容覆盖它

时间:2019-01-10 09:38:04

标签: python user-interface tkinter

我有一个Submit按钮,可在tkinter小部件标签上打印输出。每次更改输入并单击“提交”时,都会显示输出,但不会在同一位置显示,即标签的先前内容不会被覆盖。

from tkinter import *
from tkinter import filedialog

root = Tk()
root.title("ImageValidation ")
root.geometry("600x600+100+100")

pathlist = [None, None]  # holds the two files selected
labels = []

def browse_button(index):

    global filename
    filename =  filedialog.askopenfilename(title = "Choose your file",filetypes = (("jpeg files","*.jpeg"),("all files","*.*")))
    pathlist[index] = filename

heading = Label(root, text = "Select 2 images you want to Validate", 
font=("arial",15,"bold","underline"), fg="blue").pack()

label1 = Label(root, text = "Enter Image 1", font=("arial",10,"bold"), 
fg="black").place(x=10, y = 100)
label2 = Label(root, text = "Enter Image 2", font=("arial",10,"bold"), 
fg="black").place(x=10, y = 200)

button = Button(root,text="Choose an Sign1",width = 30,command= lambda: 
browse_button(0)).place(x=250, y= 100)
button =  Button(root,text="Choose an Sign2",width = 30,command= 
lambda: browse_button(1)).place(x=250, y= 200)

def display():

    ImageVerification(pathlist[0], pathlist[1])

    l1 = Label(root,text=Scriptoutput, width = 200 )
    l1.pack(side='bottom', padx=50, pady=50)
    #Scriptoutput is the output variable from the main code.

submit_button = Button(text="Submit", width=15,command = display)
submit_button.pack(side='bottom', padx=15, pady=15)

root.mainloop() 

一个“刷新”按钮,它将清除标签的内容并允许您覆盖它。

1 个答案:

答案 0 :(得分:0)

我将您的功能ImageVerification()当作黑匣子,并假设它正在运行。

发生这种情况的原因是,每当按下“提交”按钮时,您就创建了一个新标签。您要做的就是只要按下按钮,就在函数外部创建显示标签配置其文本。像这样的东西。

l1 = Label(root, text="", width=200)
l1.pack(side='bottom', padx=50, pady=50)

def display():
    ImageVerification(pathlist[0], pathlist[1])

    l1.configure(text=Scriptoutput)
    #Scriptoutput is the output variable from the main code.

submit_button = Button(text="Submit", width=15,command = display)
submit_button.pack(side='bottom', padx=15, pady=15)
相关问题