Как увеличить кнопку уменьшения на некоторое время в tkinter?

Я новичок здесь и новичок в (в) Python 3.x

Я пытаюсь создать в tkinter Button или два, когда я нажимаю на 1-ю кнопку, например, третья или четвертая кнопка будет увеличиваться и уменьшаться (с использованием ширины 16 и 18) 10 раз, и после 10 раз она вернется к нормальному состоянию. кнопка. Без использования class.

Код:

from tkinter import *
import time
window1 = Tk()
window1.geometry("300x300")
btn1=Button(text = "16",font=40,width=16)
btn1.pack()

# here I want to create a loop to flash the button 10 times
# I don't know which way is better :
# to use time.sleep with for in range or use .after
# or use def with loops
#can I put line 14 and 13 together ?!
#why the first button in line 5 does not appear instantly !? why line17 affect 
that so I put #?
btn1["width"]=18
btn1["text"] = "18"
btn1.pack()
#time.sleep(1)
btn1["width"]=16
btn1["text"] = "16"
btn1.pack()
window1.mainloop()

Добро пожаловать в СО. Было бы лучше, если бы вы показали нам, что вы уже сделали.

JacksonPro 20.12.2020 15:50

Используйте метод config() для обновления свойств виджета позже.

Delrius Euphoria 20.12.2020 16:20
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
160
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот используйте это:

from tkinter import *


def change(event=None):

    global count
    
    btn2['width']= 18
    btn2.after(500, lambda: btn2.config(width=16))

    if count< 10:
        btn2.after(1000, change)
        count += 1 
        
    else:
        count=0
        
window1 = Tk()
window1.geometry("300x300")

count = 0

btn1=Button(text = "btn1",font=40,width=16)
btn1.pack()
btn1.bind('<Button>', change)


btn2=Button(text = "btn2",font=40,width=16)
btn2.pack()

window1.mainloop()

Было бы лучше иметь какое-то объяснение.

Delrius Euphoria 20.12.2020 17:11

@MoneymBrussel внес правку. Скажите, это то, что вы искали, я добавлю объяснение.

JacksonPro 21.12.2020 04:05

Спасибо, это то, что я ищу, теперь я начну давать некоторые модификации, которые я хочу, большое спасибо.

Moneym Brussel 21.12.2020 12:43

Другие вопросы по теме