Следующие атрибуты есть у всех виджетов в дополнение к указанным ниже:
visibility — видимость/невидимость виджета
activity — активность/неактивность виджета
widget-name — символическое имя виджета
tooltip — справочная информация, выводимая в «пузыре» при наведении на данный виджет.
корневой виджет
Именно в этот виджет вставляются все остальные, виджет является или vbox или dialog. У диалога, помимо атрибутов vbox, имеются следующие:
title — заголовок окна
width — ширина окна
height — высота окна
label
Метка, содержит или текст, или картинку. В зависимости от возможностей браузера они могут выводиться или только один из этих двух вариантов, или оба одновременно.
Атрибуты:
text — текст
pixmap — картинка
align — выравнивание текста относительно краёв, варианты left/right/center.
button
Кнопка, содержит текст и картинку. Некоторые браузеры могут всегда уменьшать размер изображения, чтобы общий вид кнопки не портился.
Aтрибуты:
text — текст
pixmap — картинка
События:
clicked — вызывается при нажатии кнопки.
radio
Радио-кнопка.
Атрибуты:
text — комментарий к кнопке
state — состояние (активна/неактивна)
События:
toggled — вызывается при изменении состояния кнопки.
checkbox
Кнопка с двумя состояниями.
Атрибуты:
text — комментарий к кнопке
state — состояние (выделен checkbox или нет, #t/#f).
События:
toggled — вызывается при изменении состояния кнопки.
edit
Однострочное текстовое поле.
Атрибуты:
text — содержимое
echo — режим отображения. Возможные варианты normal (по умолчанию), stars (звёздочки, для паролей), no (ввод не отображается).
alterability — возможности по изменению текста. Если значение #f, содержимое поля доступно только для чтения.
События:
changed — вызывается при изменении содержимого поля
return-pressed — вызывается при нажатии в поле клавиши Enter.
textbox
Многострочное текстовое поле. В Qt textbox способен отображать как plain text, так и html. При этом тип отображения определяется при первом задании атрибута text. Если первоначально был plain text, то при попытке записать в содержимое текст в формате html, последний будет отображаться как plain text.
Атрибуты:
text — содержимое
append-text — добавить указанную строку к содержимому.
url — показать содержимое указанного файла в textbox.
alterability — аналогично edit, если значение #f, то содержимое поля доступно только для чтения.
События:
changed — вызывается при изменении содержимого поля.
help-place
Отображает текст в формате html. Используется для отображения и навигации по справочной информации
Атрибуты:
source — URL документа.
groupbox
Объединение группы виджетов.
Атрибуты:
checked — в случае значения #t рядом с заголовком отображается checkbox (если он не выделен, то содержимое группы неактивно и недоступно для работы).
state — состояние checkbox в случае режима checked.
title — заголовок группы
События:
toggled — вызывается в случае изменения состояния checkbox.
progressbar
Строка прогресса некоторого процесса.
Атрибуты:
value — текущее значение
maximum — максимальное значение
listbox
Многоколоночный список.
Атрибуты:
columns — количество колонок, по умолчанию 1.
header — заголовок таблицы, вектор из строк с названиями колонок. Если длина вектора меньше количества колонок — оставшиеся колонки заполняются пробелами.
rows — список значений. Если список многоколоночный, то значения в одной строке объединяются внутри вектора, каждое поле — строка или пара строка + картинка. Если в векторе-строке значений меньше, чем требуется, оставшиеся колонки заполняются пробелами.
append-row — добавить в конец списка новую строчку. Если список многоколоночный, то передаётся целый вектор значений, если нет, то достаточно передать просто строку или пару строка + картинка.
remove — удалить указанную строчку. Строчка указывается своим порядковым номером. В случае значения 'all – удаляются все строки.
current — номер выделенной строки. Если таковых не имеется, то значение равно -1.
row-item — работа с отдельным полем в списке. Координаты задаются списком из двух значений (строка колонка) или просто номером строки. Возвращает пару строка+картинка. При модификации поля указывается или просто строка или строка + картинка, если во втором случае одно из значений пары #f, то оно остаётся прежним.
count — возвращает количество строк в таблице.
text — возращает строку с содержимым первого поля активной строки.
События:
selected — вызывается при изменении активного элемента списка
clicked — вызывается при щелчке мышкой по элементу списка
double-clicked — вызывается при двойном щелчке по элементу списка.
Замечание: щёлкания могут перекрывать друг друга в случае HTML-интерфейса, поэтому лучше использовать что-то одно.
combobox
Выпадающий список.
Атрибуты:
Все атрибуты listbox в одноколоночном режиме, а также:
alterability — значение #t переключает в редактируемый режим.
События:
selected — вызывается при изменении активного элемента
tree
Древообразный список элементов. Возможна многоколоночность в определённых браузерах.
Атрибуты:
columns — количество колонок, по умолчанию 1.
tree-items — элементы дерева, организованные в виде вложенных списков. Элементы на одной строке объединяются вектором, каждое поле или строка или строка+картинка. Поддерево вставляется под элемент следующий перед списком.
current — путь к активному элементу списка.
tree-text — список из строк первых колонок для каждого элемента пути к активному элементу.
События:
selected — вызывается в случае изменения активного элемента в дереве.
vbox, hbox
Вертикальная и горизонтальная группировка элементов соответственно.
Атрибуты:
margin — отступ вокруг группы
spacing — отступ между элементами группы
children-align — выравнивание всех элементов группы: center — по центру, left — по левому краю, right — по правому.
Производные виджеты
radiolist
Список из radio-кнопок — полезен, когда выделенный элемент списка не совпадает с активным.
Атрибуты:
rows — элементы списка в формате элемент+состояние
header — заголовок
text — как у listbox
active — выделенный элемент
current — активный элемент (с выделенным radio рядом с ним)
События:
selected — как у listbox.
checklist
Список из checkbox-кнопок — полезен, когда надо наглядно производить множественные выделения элементов. В принципе, данный виджет легко эмулируется с помощью двухколоночного списка, где первый элемент картина «выделен/не выделен», поэтому он признан устаревшим и подлежит замене.
Атрибуты:
checklist-rows — элементы списка в формате элемент+состояние
checklist-append-row — добавить в конец списка новый элемент
checklist-row-item — работа с элементом списка
checklist-active-rows — возвращает список имён активных элементов
checklist-policy — инвертирует значения состояния элементов, например выделенными начинают считаться элементы у которых состояние #f.
Стандартные диалоги
Для оповещения пользователей alterator предоставляет набор стандартных диалогов, общий формат вызова следующий:
первый параметр – сообщение, далее следует перечисление кнопок которые желаете видеть в диалоге. Кнопки задаются символами и могут быть одними из следующих: ok, open, save, cancel, close, discard, apply, reset, restore-defaults, help, save-all, yes, yes-to-all, no, no-to-all, abort, retry, ignore (также имеется специальное имя no-button – означает отсутствие кнопки). Результат исполнения диалога – символ, соответствующий нажатой кнопке.
Доступны следующие виды диалогов:
document:popup-information
document:popup-warning
document:popup-critical
document:popup-question
Порядок отображения кнопок не зависит от порядка перечисления, однако первая из перечисленных кнопок считается кнопкой выделенной по умолчанию
Примеры:
Выше перечисленные функции на самом деле являются обёртками вокруг более общей – document:messagebox.
Формат вызова:
Возможные параметры:
title – заголовок окна
type – тип окна, один из вариантов: information, question, warning, critical