Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Дмитрий Орлов Ученик (38), на голосовании 1 год назад
Как сделать так чтобы в библиотеке ткинтер кнопку можно было нажать только один раз?
Голосование за лучший ответ
platon_sk Мастер (1987) 1 год назад
Для этого можно использовать метод `config` кнопки, чтобы задать ей функцию "нажатия" (command), которая будет вызываться только один раз. После этого, установите свойство `state` кнопки в "disabled", чтобы предотвратить возможность повторного нажатия. Примерный код будет выглядеть так:


from tkinter import *

root = Tk()

def only_once():
# код, который должен выполниться только один раз
btn.config(state='disabled') # кнопка становится неактивной

btn = Button(root, text='Нажми меня', command=only_once)
btn.pack()

root.mainloop()
Дмитрий ОрловУченик (38) 1 год назад
Спасибо
Дмитрий ОрловУченик (38) 1 год назад
Ошибка
Иван Егоров, после only_once() лишняя скобка
Ирина Панова Мастер (2169) 1 год назад
5 баллов даёте НЕ Вы, а проект *ответы*.
(только за то что Вам - ответили)

чуть больше получит тот чей ОТВЕТ Вы выберете лучшим.
Ikstrade Знаток (394) 1 год назад
Создаёшь новую функции например:
def off():

В ней пишешь:
btn.config(state = "disabled")

Где btn - Название твоей кнопки
И в команде к кнопке, оставляешь ссылку на функцию.
Тобишь :
command = off

Полная версия кнопки:
btn = Button.ttk(root, text="Click", command = off)

А полная строчка кода:

def off():
btn.config(state = "disabled")

btn = Button.ttk(root, text="Click", command = off)
Похожие вопросы