radiobutton

Создание примитива кнопки-переключателя и управление им.
 
  • Синтаксис
  • Стандартные параметры
  • Дополнительные параметры примитива
  • Описание
  • Команда примитива
  • Привязки
  • СИНТАКСИС radiobutton имяПути параметры СТАНДАРТНЫЕ ПАРАМЕТРЫ
       
    -activeBackground -cursor -highlightthickness
    -takefocus -activeforeground -disabledforeground
    -image -text -anchor
    -font -justify -textvariable
    -background -foreground -padx
    -underline -bitmap -highlightbackground
    -pady -wraplength   -relief
    -borderwidth -highlightcolor
    Подробное описание этих параметров приведено в разделе options . ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА Имя параметра: -command
    Имя в Базе: command
    Класс в Базе: Command
    Ассоциирует с кнопкой команду Tk. Обычно команда выполняется при отпускании клавиши 1 “Мыши” на окне кнопки-переключателя. Перед выполнением команды обновляется значение глобальной переменной переключателя (параметр -variable ).
      Имя параметра: -height
    Имя в Базе: height
    Класс в Базе: Height


    Задает желаемую высоту кнопки. Если в кнопке выводится изображение или двуцветное изображение, то значение параметра задается в пикселах (т.е., в любом виде, приемлемом для Tk_GetPixels); высота текстовой кнопки задается числом строчек текста. Если параметр не задан, то высота кнопки вычисляется по ее содержимому.
     

    Имя параметра: -indicatoron
    Имя в Базе: indicatorOn
    Класс в Базе: IndicatorOn
    Указывает, следует ли выводить индикатор. Значение параметра должно быть булевским. Если значением является ложь, то параметр relief игнорируется и примитив всегда изображается вдавленным, если он выделен, и выпуклым в противном случае.
      Имя параметра: -selectcolor
    Имя в Базе: selectColor
    Класс в Базе: Background


    Задает цвет фона для изображения выделенной кнопки. Если параметр IndicatorOn имеет значение истина, то указанный цвет применяется для изображения индикатора. В системе Windows тот же цвет используется в качестве фона изображения индикатора вне зависимости от состояния выделения. Если значением параметра IndicatorOn является ложь, то указанный цвет используется в качестве фона для всего примитива, когда он выделен, вместо значений параметров background и activeBackground .
     

    Имя параметра: -selectimage
    Имя в Базе: selectImage
    Класс в Базе: SelectImage


    Задает изображение, выводимое в кнопке при выделении кнопки-переключателя (вместо изображения, заданного параметром -image). Если параметр -image отсутствует, то значение параметра -selectimage игнорируется.
     

    Имя параметра: -state
    Имя в Базе: state
    Класс в Базе: State


    Задает одно из трех состояний кнопки-переключателя: normal, active или disabled. В нормальном состоянии кнопка-переключатель изображается с использованием значений параметров foreground и background. В активном состоянии кнопка-переключатель обычно находится, если на ней расположен курсор. Кнопка-переключатель в активном состоянии изображается с использованием значений параметров activeForeground и activeBackground. Недоступное состояние указывает на то, что кнопка должна быть нечувствительной: привязки по умолчанию не приводят к запуску примитива и нажатия на кнопку “Мыши” игнорируются. В этом состоянии изображение кнопки-перключателя определяется значениями параметров disabledForeground и background .
     

    Имя параметра: -value
    Имя в Базе: value
    Класс в Базе: Value
    Задает значение, которое следует заносить в переменную кнопки-переключателя при выделении этой кнопки.
      Имя параметра: -variable
    Имя в Базе: variable
    Класс в Базе: Variable
    Задает имя глобальной переменной, значение которой нужно устанавливать при выделении кнопки. Изменение значения этой переменной также приводит к изменению состояния выделения кнопки. По умолчанию параметр имеет значение selectedButton .
      Имя параметра: -width
    Имя в Базе: width
    Класс в Базе: Width


    Задает желаемую ширину кнопки-переключателя. Если в кнопке выводится изображение или двуцветное изображение, то значение параметра задается в пикселах (т.е., в любом виде, приемлемом для Tk_GetPixels); ширина текстовой кнопки задается числом символов. Если параметр не задан, то ширина кнопки вычисляется по ее содержимому.

    ОПИСАНИЕ Команда radiobutton создает новое окно (задаваемое аргументом имяПути) и превращает его в примитив кнопки-переключателя. Детали изображения кнопки-переключателя, такие как ее цвета, шрифт, текст и исходный объемный вид задаются с помощью описанных выше дополнительных параметров. Команда radiobutton возвращает аргумент имяПути. В момент выполнения этой команды не должно существовать окна с именем имяПути, но должен существовать его предок.

    Кнопка-переключатель представляет собой примитив, в котором выводится текстовая строка, изображение или двуцветное изображение, а также ромб или кружок, называемый индикатором. Весь выводимый текст должен быть записан одним шрифтом, однако он может занимать несколько строчек на экране (если в нем есть символы перевода строки или задан параметр wrapLength). Один из символов текста может быть подчеркнут (в соответствии со значением параметра underline). Кнопка-переключатель обладает всеми характеристиками обычной кнопки, включая следующие: в зависимости от значения параметра state кнопка имеет три разных вида; кнопка может выглядеть выпуклой, вдавленной или плоской, кроме того, она может мигать. При инициации кнопки-переключателя (нажатием на клавишу 1 “Мыши”, когда курсор “Мыши” находится на кнопке) выполняется команда Tcl.

    Кроме того, кнопки-переключатели можно выделять. Если кнопка выделена, то индикатор обычно изображается как выделенный, а переменная Tcl, ассоциированная с данной кнопкой, имеет предписанное значение (обычно 1). В ОС Unix индикатор изображается вдавленным и имеет специальный цвет. В системе Windows вместо этого в индикаторе появляется круглая метка. Если кнопка-переключатель не выделена, то индикатор имеет невыделенный вид, а ассоциированная переменная имеет другое значение (обычно “0”). В ОС Unix такой индикатор изображается выпуклым и не имеет специального цвета. В системе Windows в невыделенном индикаторе отсутствует круглая метка. Обычно одна переменная обслуживает несколько кнопок-переключателей, а ее значение указывает, какая из них должна быть выделена. При выделении кнопки происходит изменение значения ассоциированной переменной. Кроме того, каждая кнопка-переключатель отслеживает значение ассоциированной переменной и при его изменении состояние выделения кнопки меняется. По умолчанию используется переменная selectedButton; ее значением является имя выделенной кнопки или пустая строка, если ни одна из кнопок, ассоциированных с данной переменной, не выделена. Имя переменной и записываемые в ней значения “выделенная”/”невыделенная” можно поменять с помощью параметров командной строки или в базе данных параметров. С помощью параметров конфигурации можно также поменять вид индикатора (или даже отменить саму необходимость его вывода). По умолчанию выделение кнопки-переключателя происходит при щелчке на кнопке.

    КОМАНДА ПРИМИТИВА Команда radiobutton создает новую команду Tcl с именем имяПути. С помощью этой команды можно выполнять различные операции над примитивом. Ее общий вид

    имяПути параметр арг арг ...

    Параметр и аргументы уточняют поведение команды. Примитивы кнопки-переключателя допускают следующие формы команды: имяПути cget параметр Возвращает текущее значение параметра конфигурации с именем параметр . Параметр может быть любым из параметров команды radiobutton . имяПути configure параметр значение параметр значение ... Запрашивает значения параметров конфигурации примитива или изменяет их. Если параметр не указан, то возвращает список, содержащий значения всех допустимых в имениПути параметров (формат списка описан в Tk_ConfigureInfo). Если параметр задан, а его новое значение - нет, то команда возвращает часть полного списка, относящуюся к указанному параметру. Если заданы одна или несколько пар параметр-значение, то указанным параметрам примитива присваиваются новые значения, а команда возвращает пустую строку. Параметр может быть любым из параметров команды radiobutton . имяПути deselect Отменяет выделение кнопки-переключателя и придает ассоциированной переменной значение “пустая строка”. Если в момент исполнения команды данная кнопка-переключатель не была выделена, то команда не производит никаких действий. имяПути flash Заставляет кнопку-переключатель мигать. Этот эффект достигается путем многократного вывода изображения кнопки поочередно в активном и нормальном состоянии. По окончании работы команды кнопка-переключатель остается в том же состоянии (активном или нормальном), что и перед началом ее выполнения. Если перед началом выполнения команды кнопка находится в состоянии disabled, то команда игнорируется. имяПути invoke Приводит в точности к тому же результату, что и нажатие клавиши “Мыши” на кнопке-переключателе: кнопка становится выделенной и выполняется команда Tcl, ассоциированная с кнопкой (при наличии такой команды). Возвращаемое значение совпадает с возвращаемым значением команды Tcl (или является пустой строкой, если с кнопкой никакой команды не ассоциировано). Если перед началом выполнения команды кнопка-переключатель находится в состоянии disabled, то команда игнорируется. имяПути select Выделяет кнопку, перерисовывая ее в новом состоянии и изменяя значение ассоциированной переменной.
    ПРИВЯЗКИ При создании кнопки-переключателя Tk автоматически создает привязки к ней, определяющие ее поведение по умолчанию:
    1. в ОС Unix кнопка становится активной при появлении над ней курсора “Мыши” и дезактивируется, когда курсор ее покидает. В системах Mac и Windows при нажатии клавиши 1 “Мыши” на переключателе кнопка активизируется, когда курсор “Мыши” находится на кнопке и дезактивируется, когда курсор ее покидает;
    2. при нажатии клавиши 1 “Мыши” на кнопке-переключателе кнопка становится выделенной и выполняется команда, привязанная к ней;
    3. если кнопка-переключатель находится в фокусе ввода, то нажатие на клавишу пробела приводит к выполнению команды, привязанной к этой кнопке;
    4. если кнопка-переключатель находится в состоянии disabled, то все описанные выше действия не приводят ни к какому результату: кнопка остается безответной.
    Поведение кнопки-переключателя можно изменить с помощью новых привязок к конкретным примитивам или путем переопределения привязок данного класса.

    [ Список команд Tk ]            [ Содержание ]