Общие методы

Класс виджетов регулировки диапазона весьма сложен внутри, но, как и все “базовые” классы, большинство его внутренностей заинтересует вас только, если вы захотите “поковыряться” в нём. Большинство определённых в них сигналов и методов действительно используются только при написании наследующих их виджетов. Но здесь, конечно, есть несколько полезных методов, которые работают на все виджеты регулировки диапазона.

8.3.1. Настройка политики обновления

Политика обновлений виджета регулировки диапазона определяет в какой момент будет изменяться поле value, и излучаться сигнал “value_changed”. Политики обновлений:

UPDATE_CONTINUOUS По умолчанию. Сигнал “value_changed” излучается постоянно, т.е. как только ползунок сдвинулся даже на минимальное значение.
UPDATE_DISCONTINUOUS Сигнал “value_changed” излучается когда ползунок останавливается, и пользователь отпускает кнопку мыши.
UPDATE_DELAYED Сигнал “value_changed” излучается когда пользователь отпускает кнопку мыши, или когда ползунок перестаёт двигаться на короткое время.

Политика обновлений виджетов регулировки диапазона может быть выбрана методом:

  range.set_update_policy(policy)

8.3.2. Получение и настройка регуляторов.

Получение и настройка регуляторов для виджетов регулировки диапазона “на лету” делается с помощью:

  adjustment = range.get_adjustment()

  range.set_adjustment(adjustment)

Метод get_adjustment() возвращает ссылку на adjustment, к которому подключён виджет регулировки диапазона.

Метод set_adjustment() не не делает абсолютно ничего, если вы передаёте ему adjustment, который уже используется в range, независимо от того, меняли вы его поля или нет. Если вы передадите другой регулятор, то он удалит ссылку на старый регулятор (возможно уничтожит), подключит соответствующие сигналы к новому, и пересчитает размер/позицию ползунка и перерисует если необходимо. Как говорилось в разделе “Регуляторы”, если вы хотите применить изменения значений регуляторов, то вы должны излучить сигнал “changed”, например так:

  adjustment.emit("changed")

Предыдущая страница На уровень выше  Следующая страница
8.2. Горизонтальная и вертикальная шкала К оглавлению  8.4. Привязки к клавиатуре и мыши.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>