Временное отключение кнопки в pygtk

Я хочу показать диалоговое окно с кнопкой ОК, которая отключена на короткий период времени (возможно, 5 секунд). Остальные кнопки все равно должны будут реагировать на это время.


person wodemoneke    schedule 07.03.2009    source источник


Ответы (1)


Для этого вам понадобится тайм-аут GTK +. Сначала позвольте кнопке быть отключенной. Тайм-аут вызовет функцию для включения кнопки.

Обратите внимание, что для удобства использования пользователю должно быть видно, что таймер запущен. Вы можете сделать это путем обратного отсчета, например «ОК (5)», «ОК (4)» и т. Д., Пока не нажмете кнопку.

См. Здесь: http://graphics.sci.ubu.ac.th/api/pygtk/tutorials/pygtk2tutorial/ch-TimeoutsIOAndIdleFunctions.html.

Идея состоит в том, чтобы установить тайм-аут на 1 секунду (1000 мс). Каждый раз, когда вызывается обратный вызов, вы меняете метку кнопки и возвращаете TRUE. Когда ваш обратный вызов вызывается в 5-й раз, вы включаете его и возвращаете FALSE. Это уберет тайм-аут.

person ypnos    schedule 07.03.2009