Как заменить метку в Python Tkinter?

Я программист новичков, и я делаю конвертер валют … Он все еще продолжается, но может ли кто-нибудь помочь мне попытаться заменить ярлык, сделанный в 'def convert ()? … Чтобы быть ясным, прямо сейчас каждый раз, когда я конвертирую, появляется новый ярлык, но я хочу, чтобы мой ярлык заменялся каждый раз, когда я нажимаю конвертировать …

import sys from Tkinter import * root = Tk() root.title("CURRENCY CONVERTER") root.geometry('600x300+30+100') root.config(bg="#000000") #*************************************GBP*************************************# def rate(): rate = 1 if var.get() =='GBP' and var2.get() =='USD': rate=float(1.63452) if var.get() =='GBP' and var2.get() =='EUR': rate=float(1.19529) if var.get() =='GBP' and var2.get() =='INR': rate=float(99.9639) if var.get() =='GBP' and var2.get() =='AUD': rate=float(1.79578) if var.get() =='GBP' and var2.get() =='CAD': rate=float(16.8796) if var.get() =='GBP' and var2.get() =='NZD': rate=float(1.97334) if var.get() =='GBP' and var2.get() =='JPY': rate=float(168.143) if var.get() =='GBP' and var2.get() =='CNY': rate=float(9.93698) #*************************************USD*************************************# if var.get() =='USD' and var2.get() =='GBP': rate=float() ##to do ....ADD MORE return rate #----------------------------------HELP------------------------------# def convert(): converted=Label(root, text=(var.get(), int(entarr.get()),">>>", round((float(entarr.get())*rate()),3), var2.get())) converted.config(font=('century gothic',(15)),bg='#000000',fg="white",width=0, relief=FLAT) converted.pack(expand = 1,anchor="center") return #--------------------------------HELP--------------------------------# #title Title=Label(root, text="Currency Converter", cursor="heart") Title.config(font=('century gothic',(35)),bg='#fff60b', fg="#9c0200",width=0,relief=RAISED) Title.pack(expand=1, anchor=CENTER) #entry box entarr = DoubleVar() entarr.set(0) entry = Entry(root, textvariable=entarr, cursor="plus") entry.config(font=('century gothic',(15)),bg='#ff6100',width=0, relief=SOLID) entry.pack(expand = 1, anchor="center") #currency 1 var = StringVar(root) var.set('Choose a currency to convert from') choices = ['GBP', 'USD', 'EUR','INR','AUD','CAD','NZD','JPY','CNY'] option = OptionMenu(root, var, *choices) option.config(font=('century gothic',(15)),bg='#fff60b',fg="#9c0200",activebackground='#00ff80',width=0, cursor="", relief=FLAT) option.pack(ipadx=10,ipady=0, expand=1,anchor="center") #convert button Arrow= Button(root, text=">>>>CONVERT>>>>", command = convert, cursor="exchange") Arrow.config(font=('century gothic',(15)),width=0, bg="#ff6100", relief=SOLID) Arrow.pack(ipadx=1,ipady=0, expand =1, anchor="center") #currency 2 var2 = StringVar(root) var2.set('Choose a currency to convert to') choices2 = ['GBP', 'USD', 'EUR','INR','AUD','CAD','NZD','JPY','CNY'] option2 = OptionMenu(root, var2, *choices2) option2.config(font=('century gothic',(15)),bg='#fff60b',fg="#9c0200",activebackground='#00ff80',width=0, relief=FLAT) option2.pack(ipadx=10,ipady=0, expand=1,anchor="center") root.mainloop() 

РЕДАКТИРОВАТЬ:

СОКРАЩЕННО ПОЖАЛУЙСТА ПОМОГИТЕ МЕНЯ. Я понятия не имею, супер нуб здесь!

 def convert(): newValue=(var.get(), int(entarr.get()),">>>", round((float(entarr.get())*rate()),3), var2.get()) converted=Label(root, textvariable=newValue) converted.config(font=('century gothic',(15)),bg='#000000',fg="white",width=0, relief=FLAT) converted.config(text=newValue) converted.pack(expand = 1,anchor="center") return 

  • Как добавить все изображения из папки в кнопку (в моем кадре)
  • Вертикальный текст в холсте Tkinter
  • Как использовать изображение для фона в tkinter?
  • Tkinter Canvas create_window ()
  • Окно внутри окна
  • Python Tkinter: встроить сюжет matplotlib в виджет
  • Python / Tkinter: Использование языков Tkinter для RTL (справа налево), таких как арабский / иврит?
  • Python 3 и tkinter открывают новое окно, нажимая кнопку
  • One Solution collect form web for “Как заменить метку в Python Tkinter?”

    Есть несколько простых способов сделать это. В обоих случаях он включает создание метки один раз , а затем динамическое изменение отображаемого текста.

    Метод 1: используйте текстовую переменную

    Если вы связываете StringVar с меткой, всякий раз, когда вы меняете значение StringVar, метка будет автоматически обновляться:

     labelVar = StringVar() label = Label(..., textvariable=labelVar) ... # label is automatically updated by this statement: labelVar.set(newValue) 

    Способ 2: обновить текст с configure метода configure :

     label = Label(...) ... # update the label with the configure method: label.configure(text=newValue) 

    В обоих случаях вам нужно убедиться, что объект, который вы изменяете (либо виджет, либо StringVar), является либо глобальной переменной, либо переменной экземпляра, чтобы вы могли получить к ней доступ позже в своем коде.

    Python - лучший язык программирования в мире.