option
-
Имя
- option — Добавить/извлечь параметры окна в/из базы данных параметров
- Синтаксис
- Описание
-
widgetDefault
- startupFile
- userDefault
- interactive
- startupFile
Имя
option — Добавить/извлечь параметры окна в/из базы данных параметровСинтаксис
option add шаблон значение ?приоритет?option clear
option get имя окна класс
option readfile имя файла ?приоритет?
Описание
Команда option позволяет добавлять записи в базу данных параметров Tk или извлекать параметры из базы данных. Форма команды add добавляет новый параметр в базу данных. Шаблон содержит задаваемый параметр и состоит из имён и/или классов, разделённых звёздочками или точками, в обычном формате X (см. ФОРМАТ ПАТТЕРНА). Значение содержит строку текста, связанную с шаблоном; это значение, которое будет возвращено в вызовах Tk_GetOption или вызовами команды option get. Если указан приоритет, он указывает уровень приоритета для этого параметра (см. ниже допустимые значения); по умолчанию это interactive. Эта команда всегда возвращает пустую строку.Команда option clear очищает базу данных параметров. Параметры по умолчанию (из свойства RESOURCE_MANAGER или файла .Xdefaults) будут автоматически перезагружены в следующий раз, когда параметр будет добавлен в базу данных или удалён из неё. Эта команда всегда возвращает пустую строку.
Команда option get возвращает значение параметра, указанного для окна в имя и класс. Если в базе данных параметров несколько записей соответствуют окну, имени и классу, то команда возвращает ту, которая была создана с самым высоким уровнем приоритета. Если есть несколько соответствующих записей на одном уровне приоритета, то возвращается запись, которая была последней введена в базу данных параметров. Если соответствующих записей нет, то возвращается пустая строка.
Форма команды readfile считывает имя файла, который должен иметь стандартный формат базы данных ресурсов X, такой как .Xdefaults, и добавляет все параметры, указанные в этом файле, в базу данных параметров. Если указан приоритет, он указывает уровень приоритета, на котором следует вводить параметры; приоритет по умолчанию равен interactive.
Файл считывается через канал с кодировкой "utf-8", неверные последовательности байтов автоматически преобразуются в допустимые. Это означает, что кодировки, такие как ISO 8859-1 или cp1252, с большой вероятностью также будут работать, но это не гарантируется. Это нельзя изменить, установка [encoding system] не оказывает никакого влияния.
Аргументы приоритета к команде option обычно указываются символически, используя одно из следующих значений:
- widgetDefault
- Уровень 20. Используется для значений по умолчанию, жёстко закодированных в виджеты.
- startupFile
- Уровень 40. Используется для параметров, указанных в файлах запуска приложения.
- userDefault
- Уровень 60. Используется для параметров, указанных в пользовательских файлах по умолчанию, таких как .Xdefaults, базах данных ресурсов, загруженных в сервер X, или пользовательских файлах запуска.
- interactive
- Уровень 80. Используется для параметров, указанных интерактивно после запуска приложения. Если приоритет не указан, он по умолчанию равен этому уровню.
Любое из вышеперечисленных ключевых слов может быть сокращено. Кроме того, приоритеты могут быть указаны численно с использованием целых чисел от 0 до 100 включительно. Численная форма, вероятно, неудачная, за исключением новых уровней приоритета, отличных от указанных выше.
Формат паттерна
Паттерны состоят из последовательности слов, разделённых точками «.» или звёздочками «*». Общий паттерн также может быть необязательно предваряться звёздочкой.Каждое слово в паттерне обычно начинается с заглавной буквы (в этом случае оно обозначает класс виджета или параметра) или любым другим символом, когда оно обозначает имя виджета или параметра. Последнее слово в паттерне всегда указывает параметр; предыдущие ограничивают, в каких виджетах этот параметр будет искаться.
Когда два слова разделены точкой, последующий виджет должен быть прямым потомком предыдущего (или параметр должен применяться только к указанным виджетам). Когда два слова разделены звёздочкой, между предыдущим и последующим виджетами может находиться любая глубина виджетов (и параметр применяется ко всем виджетам, которые являются потомками предыдущего виджета).
Если общий паттерн предваряется звёздочкой, то общий паттерн применяется везде, где он может быть в всей иерархии виджетов. В противном случае первое слово паттерна сопоставляется с именем и классом «.» toplevel, которые обычно устанавливаются параметрами для wish.
Примеры
Инструктируйте каждую кнопку в приложении иметь красный текст на ней, если явно не переопределено, установив foreground для класса Button (обратите внимание, что на некоторых платформах параметр игнорируется):option add *Button.foreground red startupFile
Позвольте пользователям контролировать, что происходит в виджете ввода, когда нажимается клавиша Возврат, указав сценарий в базе данных параметров и добавив параметр по умолчанию для этого, который звонит в колокольчик:
entry .e bind .e <Return> [option get .e returnCommand Command] option add *.e.returnCommand bell widgetDefault
Смотрите также
options, wish
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/option.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/option.htm