Как сделать так, чтобы текст появлялся в окне приложения по нажатию кнопки?
Как сделать так, чтобы по нажатию кнопки "Вывести на карту
", под этой кнопкой плавно появился и также плавно исчезал текст зеленого цвета "Деньги успешно перечислены на ваш банковский счет
"?
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()