Как сделать так, чтобы текст появлялся в окне приложения по нажатию кнопки?

Как сделать так, чтобы по нажатию кнопки "Вывести на карту", под этой кнопкой плавно появился и также плавно исчезал текст зеленого цвета "Деньги успешно перечислены на ваш банковский счет"?

import tkinter as tk


root = tk.Tk()                  # Основное окно
root.title("Заработок")         # Надпись в топе окна
root.geometry("700x350")        # Размер окна X
root.resizable(False,False)     # Запрещение изменение окна по X и Y
root.configure(bg="#d1ddde")    # Фон окна
n = 0                           # Счётчик

def nplus():
    global n
    n += 111

    n_1 = str(n)[-1]
    n_2 = str(n)[-2:]
    #print(f'{n_1} --- {n_2}') 
    
    if '11' <= n_2 < '15':
        label1["text"] = str(n) + " долларов"    
    elif n_1 == '1':
        label1["text"] = str(n) + " долларов."    
    elif '2' <= n_1 < '5':
        label1["text"] = str(n) + " долларов."
    else :
        label1["text"] = str(n) + " долларов"

def nsbros():
    global n
    n = 0
    label1["text"] = str(n) + " долларов."

# Счётчик кликера:
label1 = tk.Label(root, 
    text=str(n)+" долларов.", 
    font=("Helvetica 50"), 
    background="#d1ddde"
)
label1.pack()

btn1 = tk.Button(text="Клик", background="#75a9fa", foreground="#fff", 
    padx="150", pady="10", font="16", command=nplus)
btn1.pack()

btn2 = tk.Button(text="Вывести на карту", background="#e08e79", foreground="#fff", 
    padx="150", pady="10", font="16", command=nsbros)

# if:

btn2.pack()

root.mainloop()

Ответы (1 шт):

Автор решения: S. Nick

Как вариант:

import tkinter as tk


root = tk.Tk()                   
root.title("Заработок")          
root.geometry("700x350")         
root.resizable(False, False)     
root.configure(bg="#d1ddde")     
n = 0                            # Счётчик

def nplus():
    global n
    n += 111
    n_1 = str(n)[-1]
    n_2 = str(n)[-2:]
    #print(f'n_1={n_1} --- n_2={n_2}') 
    
    if '11' <= n_2 < '15':
        label1["text"] = str(n) + " долларов"    
    elif n_1 == '1':
        label1["text"] = str(n) + " долларов."    
    elif '2' <= n_1 < '5':
        label1["text"] = str(n) + " долларов."
    else :
        label1["text"] = str(n) + " долларов"

def nsbros():
    if not int(label1["text"].split()[0]):                       # +++
        return                                                   # +++
    
    global n
    n = 0
    label1["text"] = str(n) + " долларов."

# !!! vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv # +++
    label.after(1000, animate_label, "#d1ddde", -1052688, 0, 12) # +++
    label.after(4400, animate_label, "#000000", 1052688, 0, 13)  # +++
    label.after(7000, animate_label, "#000000", 1052688, 0, 0)   # +++
    
def animate_label(_bg, _dec, n1=0, n2=12):                       # +++
    _bg = f'#{str(hex(int(_bg[1:], 16) + _dec))[2:]}' 
    if n1 < n2:
        label.after(200, animate_label, _bg, _dec, n1+1, n2)
        label['fg'] = _bg
    elif n2 == 0:
        label['fg'] = "#d1ddde"
# !!! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # +++

# Счётчик кликера:
label1 = tk.Label(root, 
    text=str(n)+" долларов.", 
    font=("Helvetica 50"), 
    background="#d1ddde"
)
label1.pack()

btn1 = tk.Button(text="Клик", 
    background="#75a9fa", foreground="#fff", 
    padx="150", pady="10", font="16", 
    command=nplus)
btn1.pack()

btn2 = tk.Button(text="Вывести на карту", 
    background="#e08e79", foreground="#fff", 
    padx="150", pady="10", font="16", 
    command=nsbros)
# ??? if:
btn2.pack()

label = tk.Label(root,                                           # +++
    text="Деньги успешно перечислены на ваш банковский счет",    # +++
    font=("Arial", 16),                                          # +++
    fg="#d1ddde",                                                # +++
    bg="#d1ddde"                                                 # +++
)                                                                # +++
label.pack()                                                     # +++

root.mainloop()

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка