Шаг 58.
Библиотека Tkinter. Компоненты и вспомогательные классы. Нестилизуемые компоненты. Компонент Spinbox: поле ввода со счетчиком
На этом шаге мы рассмотрим назначение этого виджета и перечислим его свойства.
Компонент поля ввода со счетчиком, представляемый классом Spinbox, выглядит как комбинация обычного поля ввода и двух расположенных друг над другом кнопок. Он может
использоваться в двух разных режимах:
- для указания чисел. В этом случае при щелчке на верхней кнопке значение в компоненте увеличится на указанную величину, а при щелчке на нижней кнопке - точно так же уменьшится;
- для выбора строкового значения из заданного списка. Тогда при щелчках на кнопках в компоненте будут последовательно появляться значения, имеющиеся в списке.
Компонент Spinbox поддерживает такие опции:
- textvariable - указывает метапеременную, хранящую значение, которое будет выводиться в компоненте. Метапеременная может быть любого типа;
- from_ - задает минимальную величину, которая может быть установлена щелчками на кнопках. Может представлять собой как целое, так и вещественное число;
- to - указывает максимальную величину, которая может быть установлена щелчками на кнопках. Может представлять собой как целое, так и вещественное число;
- increment - указывает величину, на которую занесенное в компонент значение будет увеличиваться или уменьшаться при щелчках на кнопках. Может представлять собой как целое, так и вещественное число;
- values - указывает список значений, которые будут перебираться при щелчках на кнопках, в виде кортежа строк;
- wrap - управляет "зацикливанием" счетчика. Доступные значения:
- False - если в компоненте находится минимальное из возможных значений, и пользователь щелкает на нижней кнопке, ничего не происходит. То же самое случится при попытке увеличить наибольшее из возможных значений.
В случае задания списка значений при достижении граничных величин перебор останавливается. Это поведение по умолчанию;
- True - если в компоненте находится минимальное из возможных значений, и пользователь щелкает на нижней кнопке, в компонент заносится наибольшее возможное значение. При попытке увеличить наибольшее возможное значение в
компонент будет подставлено наименьшее значение. Значения из списка в этом случае также будут перебираться циклически;
- exportselection - управляет автоматическим занесением выделенного в компоненте текста в буфер обмена. Если указано значение 1, выделенный текст заносится в буфер обмена (поведение по умолчанию), если 0 - не заносится;
- state - задает состояние компонента. Поддерживаются значения:
- tkinter. NORMAL - доступное состояние (поведение по умолчанию),
- tkinter.DISABLED - недоступное состояние и
- "readonly" - компонент доступен только для чтения;
- format - устанавливает формат для отображения занесенного в компонент значения. Указывается в виде строки специального формата, описанного на 40 шаге раздела Python | Начала.
- command - указывает функцию (метод), которая будет вызываться при щелчках на кнопках компонента;
- justify- задает выравнивание текста в компоненте. Поддерживаются значения:
- tkinter.LEFT - выравнивание по левому краю (поведение по умолчанию),
- tkinter.CENTER - по середине и
- tkinter.RIGHT - по правому краю;
- width - задает ширину компонента в виде целого числа в символах текста. Значение по умолчанию - 20;
- font - задает шрифт;
- foreground или fg - задает цвет текста;
- background или bg - задает цвет фона;
- relief - задает стиль рамки, рисуемой вокруг компонента. Доступны значения:
- tkinter. FLAT - рамка отсутствует,
- tkinter.RAISED - возвышение,
- tkinter.SUNKEN - углубление (поведение по умолчанию),
- tkinter.RIDGE - бортик и
- tkinter.GROOVE - желоб;
- borderwidth или bd - задает толщину рамки вокруг компонента в виде дистанции. Значение по умолчанию - 2 пикселя;
- highlightcolor - задает цвет выделения, обозначающего, что компонент имеет фокус ввода;
- highlightbackground - указывает цвет фона, когда компонент имеет фокус ввода;
- highlightthickness - задает толщину рамки выделения, обозначающего, что компонент имеет фокус ввода;
- disabledforeground - задает цвет текста, когда компонент недоступен;
- disabledbackground - задает цвет фона, когда компонент недоступен;
- readonlybackground - задает цвет фона, когда компонент доступен только для чтения;
- activebackground - задает цвет фона, когда курсор мыши наведен на компонент;
- selectforeground - задает цвет выделенного текста;
- selectbackground - задает цвет фона выделенного текста;
- selectborderwidth - задает толщину рамки вокруг выделенного текста в виде дистанции. Значение по умолчанию - 2 пикселя;
- takefocus - указывает, может ли компонент получать фокус ввода с клавиатуры. Доступные значения:
- True (или 1) - компонент может принимать фокус ввода (поведение по умолчанию);
- False (или 0) - компонент не может принимать фокус ввода;
- cursor - задает форму курсора мыши, которую тот примет при наведении на компонент. Указывается в виде строки. Все доступные значения
этой опции перечислены на 31 шаге. Значение по умолчанию - пустая строка (формой курсора мыши управляет сама библиотека Tkinter);
- repeatdelay - устанавливает промежуток времени, по истечении которого удерживаемая нажатой кнопка начинает срабатывать автоматически, в виде целого числа в миллисекундах. Значение по умолчанию - 400;
- repeatinterval - устанавливает промежуток времени между автоматическими срабатываниями удерживаемой в нажатом состоянии кнопки в виде целого числа в миллисекундах. Значение по умолчанию - 100;
- buttonbackground - задает цвет фона кнопок;
- buttonup - задает стиль рамки для верхней кнопки. Значение по умолчанию - tkinter.RAISED;
- buttondownrelief - задает стиль рамки для нижней кнопки. Значение по умолчанию - tkinter.RAISED;
- buttoncursor - задает форму курсора мыши при наведении его на кнопки;
- insertwidth - указывает толщину текстового курсора в виде дистанции. Значение по умолчанию - 2 пикселя;
- insertbackground - задает цвет текстового курсора;
- insertborderwidth - задает толщину рамки вокруг текстового курсора в виде дистанции. Значение по умолчанию - 0 (т. е. рамка отсутствует). Чтобы создать рамку у текстового курсора, достаточно присвоить этой опции ненулевое значение;
- insertontime - указывает время, в течение которого мигающий курсор будет видим, в виде целого числа в миллисекундах;
- insertofftime - указывает время, в течение которого мигающий курсор не будет видим, в виде целого числа в миллисекундах.
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг