Класс виджетов регулировки диапазона весьма сложен внутри, но, как и все “базовые” классы, большинство его внутренностей заинтересует вас только, если вы захотите “поковыряться” в нём. Большинство определённых в них сигналов и методов действительно используются только при написании наследующих их виджетов. Но здесь, конечно, есть несколько полезных методов, которые работают на все виджеты регулировки диапазона.
Политика обновлений виджета регулировки диапазона определяет в какой момент будет изменяться поле value, и излучаться сигнал “value_changed”. Политики обновлений:
UPDATE_CONTINUOUS | По умолчанию. Сигнал “value_changed” излучается постоянно, т.е. как только ползунок сдвинулся даже на минимальное значение. |
UPDATE_DISCONTINUOUS | Сигнал “value_changed” излучается когда ползунок останавливается, и пользователь отпускает кнопку мыши. |
UPDATE_DELAYED | Сигнал “value_changed” излучается когда пользователь отпускает кнопку мыши, или когда ползунок перестаёт двигаться на короткое время. |
Политика обновлений виджетов регулировки диапазона может быть выбрана методом:
range.set_update_policy(policy) |
Получение и настройка регуляторов для виджетов регулировки диапазона “на лету” делается с помощью:
adjustment = range.get_adjustment() range.set_adjustment(adjustment) |
Метод get_adjustment() возвращает ссылку на adjustment, к которому подключён виджет регулировки диапазона.
Метод set_adjustment() не не делает абсолютно ничего, если вы передаёте ему adjustment, который уже используется в range, независимо от того, меняли вы его поля или нет. Если вы передадите другой регулятор, то он удалит ссылку на старый регулятор (возможно уничтожит), подключит соответствующие сигналы к новому, и пересчитает размер/позицию ползунка и перерисует если необходимо. Как говорилось в разделе “Регуляторы”, если вы хотите применить изменения значений регуляторов, то вы должны излучить сигнал “changed”, например так:
adjustment.emit("changed") |
Предыдущая страница | На уровень выше | Следующая страница |
8.2. Горизонтальная и вертикальная шкала | К оглавлению | 8.4. Привязки к клавиатуре и мыши. |