Шаг 55.
Библиотека Tkinter. Компоненты и вспомогательные классы. Нестилизуемые компоненты. Компонент Listbox: список
На этом шаге мы перечислим опции этого компонента.
Очень странно, но в составе стилизуемых компонентов отсутствует обычный список. Однако он есть в составе нестилизуемых компонентов и представляется классом Listbox.
Компонент списка поддерживает большой набор опций (что, впрочем, можно сказать и об остальных нестилизуемых компонентах):
- listvariable - указывает метапеременную, которая задает для списка набор пунктов. Метапеременная должна относиться к типу StringVar. Содержащаяся в ней строка должна представлять
собой набор слов, разделенных пробелами, - каждое такое слово станет текстом для отдельного пункта списка.
К сожалению, создать пункт, текст которого включает пробелы, невозможно. Можно только порекомендовать использовать внутри текста пунктов подчеркивание или заполнять список пунктами с помощью метода
insert(), о котором мы поговорим на следующем шаге;
- exportselection - управляет автоматическим занесением текста выбранного в списке пункта в буфер обмена. Если указано значение 1, текст выбранного пункта будет занесен в буфер обмена (поведение по умолчанию), если 0 - не будет;
- state - задает состояние компонента. Поддерживаются значения
- tkinter.NORMAL - доступное состояние (поведение по умолчанию) и
- tkinter.DISABLED - недоступное состояние;
- width - указывает ширину компонента в символах текста. Значение по умолчанию - 20;
- height - задает высоту списка в пунктах. Значение по умолчанию - 10;
- activestyle - указывает способ выделения выбранного пункта. Поддерживаемые значения:
- "underline" - подчеркивание (поведение по умолчанию),
- "dotbox" - штриховая рамка и
- "none" - отсутствие выделения;
- selectmode - задает режим выбора пунктов. Поддерживаются следующие значения:
- tkinter.BROWSE - можно выбрать только один пункт. При буксировке мыши с нажатой левой кнопкой выделение следует за курсором мыши. Это поведение по умолчанию;
- tkinter.SINGLE - то же самое, что tkinter.BROWSE, но при буксировке мыши выделение не следует за курсором;
- tkinter.MULTIPLE - можно выбрать произвольное количество пунктов в любом месте списка. При щелчке невыбранный пункт становится выбранным, а выбранный - невыбранным;
- tkinter.EXTENDED - можно выбрать произвольное количество следующих друг за другом пунктов. Для этого следует нажать левую кнопку мыши на первом пункте и, не отпуская ее, буксировать мышь, пока не будет выбран последний из требуемых пунктов;
- font - указывает шрифт для вывода пунктов списка;
- foreground или fg - задает цвет текста;
- background или bg - задает цвет фона;
- highlightcolor - задает цвет выделения, обозначающего, что компонент имеет фокус ввода;
- highlightbackground - указывает цвет фона, когда компонент имеет фокус ввода;
- highlightthickness - задает толщину рамки выделения, обозначающего, что компонент имеет фокус ввода;
- disabledforeground - задает цвет текста, когда компонент недоступен;
- selectforeground - задает цвет текста у выбранного пункта;
- selectbackground - задает цвет фона у выбранного пункта;
- selectborderwidth - указывает толщину рамки вокруг выбранного пункта в виде дистанции. Значение по умолчанию - 0;
- relief - задает стиль рамки, рисуемой вокруг списка. Доступны значения
- tkinter. FLAT - рамка отсутствует,
- tkinter.RAISED - возвышение,
- tkinter.SUNKEN - углубление (поведение по умолчанию),
- tkinter.RIDGE - бортик и
- tkinter.GROOVE - желоб;
- borderwidth или bd - задает толщину рамки вокруг компонента в виде дистанции. Значение по умолчанию - 2 пикселя;
- takefocus - указывает, может ли компонент получать фокус ввода с клавиатуры. Доступные значения:
- True (или 1) - компонент может принимать фокус ввода (поведение по умолчанию);
- False (или 0) - компонент не может принимать фокус ввода;
- cursor - задает форму курсора мыши, которую тот примет при наведении на компонент. Указывается в виде строки. Все доступные значения
этой опции перечислены на 31 шаге. Значение по умолчанию - пустая строка (формой курсора мыши управляет сама библиотека Tkinter).
На следующем шаге мы рассмотрим методы этого компонента.
Предыдущий шаг
Содержание
Следующий шаг