Главная


7. Виджет Button

Для создания кнопки в верхнем окне или фрейме с именем parent:

w = tk.Button(parent, option=value, ...)

Конструктор возвращает новый виджет Button. Его опции включают:

Таблица 5. Опции виджета Button

activebackground Цвет фона, когда кнопка находится под курсором.
activeforeground Цвет переднего плана, когда кнопка находится под курсором.
anchor Где текст располагается на кнопке. Смотрите Раздел 5.5, “Якоря”. Например, anchor=tk.NE поместит текст в верхний правый угол кнопки.
bd или borderwidth Ширина границы вокруг внешней части кнопки; смотрите Раздел 5.1, “Размеры”. По умолчанию два пикселя.
bg или background Нормальный цвет фона.
bitmap Имя одного из стандартных битмапов для отображения на кнопке (вместо текста).
command Функция или метод, который будет вызван при нажатии на кнопку.
cursor Выбирает курсор, который будет отображаться, когда указатель мыши находится над кнопкой.
default tk.NORMAL по умолчанию; используйте tk.DISABLED, если кнопка должна быть изначально отключена (серая, не реагирующая на щелчки мыши).
disabledforeground Цвет переднего плана, используемый, когда кнопка отключена.
fg или foreground Нормальный цвет переднего плана.
font Шрифт текста, который будет использоваться для метки кнопки.
height Высота кнопки в строках текста (для текстовых кнопок) или пикселях (для изображений).
highlightbackground Цвет фокусного выделения, когда виджет не имеет фокуса.
highlightcolor Цвет фокусного выделения, когда виджет имеет фокус.
highlightthickness Толщина фокусного выделения.
image Изображение, которое будет отображаться на кнопке (вместо текста).
justify Способ отображения нескольких строк текста: tk.LEFT для выравнивания по левому краю каждой строки; tk.CENTER для их центрирования; или tk.RIGHT для выравнивания по правому краю.
overrelief Стиль рельефа, используемый, когда указатель мыши находится на кнопке; стиль рельефа по умолчанию - tk.RAISED. Смотрите Раздел 5.6, “Стили рельефа.
padx Дополнительный отступ слева и справа от текста. Смотрите Раздел 5.1, “Размеры” для возможных значений отступа.
pady Дополнительный отступ сверху и снизу от текста.
relief Указывает тип рельефа для кнопки (смотрите Раздел 5.6, “Стили рельефа). Стиль рельефа по умолчанию - tk.RAISED.
repeatdelay Смотрите repeatinterval, ниже.
repeatinterval Обычно кнопка срабатывает только один раз, когда пользователь отпускает кнопку мыши. Если вы хотите, чтобы кнопка срабатывала с регулярными интервалами, пока кнопка мыши удерживается, установите эту опцию в количество миллисекунд, используемое между повторами, и установите repeatdelay в количество миллисекунд, чтобы дождаться начала повтора. Например, если вы укажете “repeatdelay=500, repeatinterval=100”, кнопка сработает через полсекунды, а затем каждые десятые доли секунды, пока пользователь не отпустит кнопку мыши. Если пользователь не удерживает кнопку мыши хотя бы repeatdelay миллисекунд, кнопка сработает нормально.
state Установите эту опцию в tk.DISABLED, чтобы сделать кнопку серой и нереагирующей. Принимает значение tk.ACTIVE, когда указатель мыши находится над ней. По умолчанию tk.NORMAL.
takefocus Обычно фокус клавиатуры посещает кнопки , и символ пробела действует так же, как и щелчок мыши, "нажимая" кнопку. Вы можете установить опцию takefocus в ноль, чтобы предотвратить посещение кнопки фокусом.
text Текст, отображаемый на кнопке. Используйте внутренние символы новой строки для отображения нескольких строк текста.
textvariable Экземпляр StringVar(), связанный с текстом на этой кнопке. Если переменная изменена, новое значение будет отображаться на кнопке. Смотрите Раздел 52, “Управляющие переменные: значения за виджетами”.
underline По умолчанию -1, что означает, что ни один символ текста на кнопке не будет подчеркнут. Если неотрицательно, соответствующий символ текста будет подчеркнут. Например, underline=1 подчеркнет второй символ текста кнопки.
width Ширина кнопки в буквах (если отображается текст) или пикселях (если отображается изображение).
wraplength Если это значение установлено на положительное число, строки текста будут переноситься, чтобы уместиться в эту длину. Для возможных значений смотрите Раздел 5.1, “Размеры”.

Методы объектов Button

.flash()

Позволяет кнопке несколько раз мигать между активными и нормальными цветами. Оставляет кнопку в состоянии, в котором она изначально находилась. Игнорируется, если кнопка отключена.

.invoke()

Вызывает обратный вызов command кнопки и возвращает то, что возвращает эта функция. Не имеет эффекта, если кнопка отключена или нет обратного вызова.


>> Виджет Canvas