|
|||||||
ToggleButton
Время создания: 07.05.2017 12:51
Текстовые метки: example, theory
Раздел: Python - PyGTK - Buttons - ToggleButton
Запись: xintrea/mytetra_db_mcold/master/base/1494148844kwcgcmcil0/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Кнопки включения (ToggleButton, они же: залипающие кнопки, выключатели) наследуют свойства обычных кнопок и очень похожи на них, исключая то, что они всегда находятся в одном из двух состояний, переключаемых по щелчку. Они могут быть в нажатом состоянии, и по повторному клику возвращаться в выключенное. Щёлкните ещё раз, и она снова зафиксируется. Кнопки включения это основа для зависимых и независимых переключателей (RadioButton и CheckButton). Так большинство вызовов, используемых в ToggleButton, наследуются этими переключателями. Заострим на этом внимание тогда, когда дойдём до зависимых и независимых переключателей. Создание нового выключателя:
Как вы можете представить, они работают аналогично вызовам для обычных кнопок. Если надпись не указана, то кнопки будут пустые. Текст надписи проверяется на символы с префиксом ‘_’ для мнемонических команд. Для получения состояния залипающей кнопки или любого другого переключателя , будем использовать конструкцию, указанную в примере ниже. Здесь состояние проверяется вызовом метода get_active() для объекта ToggleButton. Самый важный для нас сигнал, излучаемый залипающими кнопками (или другими переключателями), это сигнал “toggled”. Для проверки состояния этих кнопок, настраиваем обработчик сигнала “toggled” и проверяем поля объекта, содержащие его состояние. Callback-функция будет выглядеть примерно так:
Для смены состояния залипающей кнопки или прочих переключателей используйте метод:
Этот метод может быть использован для всех переключателей. Указание TRUE или FALSE для аргумента is_active определяет, нажата кнопка или отжата. При создании кнопки она по умолчанию отжата, или FALSE. Заметим, что когда вы используете метод set_active(), и состояние меняется, то кнопка излучает сигналы “clicked” и “toggled”.
Этот метод возвращает текущее значение состояния как булево значение, TRUE или FALSE. Программа togglebutton.py предоставляет простой пример использования выключателей. Рисунок 6.2, “Пример переключателей” показывает окно со включенным вторым выключателем: Рисунок 6.2. Пример выключателей Исходный код программы:
Важны строки 12-13, определяющие метод callback(), который выводит метку и состояние изменившейся залипающей кнопки. Строки 45 и 59 подключают сигнал “toggled” к методу callback(). Строка 64 активирует кнопку №2. |
|||||||
|
|||||||
|