# Віджети

Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською

# Віджети

Будівельними блоками, з яких складається діалогове вікно &kommander; є віджети. Ці віджети подібні до будь-яких інших віджетів у бібліотеках &Qt; і &kde;, а крім того мають додаткові функціональні можливості, за допомогою яких можна здійснювати пов’язування тексту з віджетами. Текст можна пов’язати зі станом віджета або його слотом наповнення. Кількість станів залежить від віджета. Якщо у віджета є лише один стан, цей стан називається типовим.

Текст віджета, ля-ля

У діалоговому вікні є два особливих стани для тексту &kommander;. Це стани Initiate і Destroy. Ці стани викликаються під час ініціалізації діалогового вікна і його знищення. За допомогою цих станів програма уникає так званих расових проблем під час відкриття нових вікон. Це також означає, що вам не потрібно використовувати будь-які особливі процедури під час закриття вікна для знищення всіх даних віджетів.

ButtonGroup

  Контейнер для створення груп кнопок. Необов’язковий заголовок можна встановити за допомогою властивості title. Вигляд рамки можна налаштувати за допомогою властивості lineWidth. Групу кнопок можна зробити ексклюзивною встановленням властивості exclusive у значення true. Ексклюзивність групи кнопок полягатиме у тому, що якщо буде натиснуто одну з кнопок, всі інші кнопки буде вимкнено. Це не стосується позначок варіантів (radio buttons), які завжди є взаємно виключними, навіть якщо група і не є ексклюзивною. Позначки варіантів можна зробити невиключними за допомогою властивості radioButtonExclusive. (Автор не певен, чи насправді спрацює зміна цієї властивості.)

  ButtonGroup завжди перебуває у одному стані, типовому.

  Текстом віджета ButtonGroup є тексти, пов’язані з кожною з кнопок групи, за порядком їх появи у ButtonGroup.

CheckBox

  Поле, яке можна позначити, або з якого можна зняти позначку. Існує також стан напівпозначеності, якщо значення властивості tristate рівне true. Мітку, пов’язану з CheckBox можна встановити за допомогою властивості text. Якщо встановити значення властивості checked, CheckBox від початку буде позначено.

  У віджета CheckBox є 3 стани, checked, semichecked і unchecked.

  Текстом віджета CheckBox є значення його властивості text.

CloseButton

  Кнопка, яка у разі натискання виконує пов’язаний з нею текст, а потім закриває діалогове вікно. Напис на кнопці визначається властивістю text. Вивід від команди пов’язаного тексту буде спрямовано до stdout, якщо значенням властивості writeStdout є true. Кнопка може бути типовою дією діалогового вікна, якщо властивість default встановлено у значення true.

  CloseButton завжди перебуває у одному стані, типовому.

  З CloseButton не пов’язано ніякого тексту віджета.

ComboBox

  ComboBox є віджетом вибору, у якому поєднано властивості кнопки з властивостями контекстного меню. У цьому віджеті буде показано поточний вибір користувача зі списку варіантів за мінімального використання простору у вікні. Пункти додаються до списку за допомогою вікна редагування. Якщо властивість editable буде встановлено у значення true, користувач зможе вводити довільні рядки у поле віджета.

  ComboBox завжди перебуває у одному стані, типовому.

  Текстом віджета ComboBox є текст вибраного пункту.

ExecButton

  Кнопка, яка у разі натискання виконуватиме команду з пов’язаного з нею тексту. Напис на кнопці визначатиметься властивістю text. Вивід від команди пов’язаного тексту буде спрямовано до stdout, якщо значенням властивості writeStdout є true. Кнопка може бути типовою дією діалогового вікна, якщо властивість default встановлено у значення true.

  ExecButton завжди перебуває у одному стані, типовому.

  З ExecButton не пов’язано ніякого тексту віджета.

FileChooser

  У віджеті FileChooser поєднано віджет LineEdit з кнопкою, яка у разі натискання відкриває перед користувачем діалогове вікно вибору файлів/тек. Назву вибраного файла або теки буде збережено у LineEdit. Тип віджета FileChooser можна встановити за допомогою властивості selectionType. Серед можливих типів: Open, Save і Directory. Якщо встановити для властивості selectionOpenMutliple значення true, користувач зможе обрати декілька файлів або тек. Заголовок вікна FileChooser можна встановити за допомогою властивості selectionCaption. Значення цієї властивості буде показано у смужці заголовка діалогового вікна. Якщо заголовка не буде вказано, у заголовку буде показано тип діалогового вікна вибору. Обмежити перелік файлів, які буде показано у діалоговому вікні можна за допомогою властивості selectionFilter.

  FileChooser завжди перебуває у одному стані, типовому.

  Текстом віджета FileChooser є текст, який міститься у LineEdit (файл, обраний користувачем).

GroupBox

  Віджет-контейнер, який містить у собі інші віджети. Вигляд рамки можна налаштувати за допомогою властивості lineWidth. Заголовок можна встановити за допомогою властивості title.

  GroupBox завжди перебуває у одному стані, типовому.

  Текстом віджета GroupBox є пов’язані тексти для кожного з віджетів, що містяться у цьому віджеті. Порядок текстів визначатиметься порядком, у якому з’являтимуться віджети у GroupBox.

LineEdit

  Віджет LineEdit є однорядковим текстовим редактором. За його допомогою користувач може вводити і змінювати окремий рядок тексту. Початковий текст віджета можна встановити за допомогою властивості text віджета. Можна вимкнути можливість редагування віджета за допомогою властивості readOnly. Існує 3 режими віджета: Normal, NoEcho і Password. Режим можна встановити за допомогою властивості echoMode.

  LineEdit завжди перебуває у одному стані, типовому.

  Текстом віджета LineEdit є текст, що міститься у полі редагування.

ListBox

  Віджет ListBox є списком пунктів, які користувач може обирати. У звичайному стані може бути обрано один або жодного пункту. Таку поведінку віджета можна змінити за допомогою властивості selectionMode. Додавати пункти до ListBox можна за допомогою вікна редагування.

  ListBox завжди перебуває у одному стані, типовому.

  Текстом віджета ListBox є пункти, які містяться у ListBox. Функція @selectedWidgetText поверне текст лише вибраних у поточний момент віджетів.

ListView

  Тепер цей віджет доступний і у &kommander;. Його функціональні можливості збігаються з віджетом ієрархічного перегляду, отже, вам слід звернутися до довідки з цього віджета.

PixmapLabel

  Простий віджет, який містить зображення або текстову мітку. Растрове зображення, яке буде показано, можна встановити за допомогою властивості pixmap. Текст визначається властивістю text. Ви можете встановлювати лише одну з цих властивостей одночасно (Здається, немає редактора, який встановлює їх одночасно). Якщо значенням властивості scaledContents є true масштаб зображення буде змінено згідно розмірів віджета. Формат тексту можна встановити за допомогою властивості textFormat.

  Цей віджет не увімкнено у &kommander;, з ним не пов’язано жодних станів або тексту віджета.

RadioButton

  Поле для позначки, позначку у якому можна встановити або зняти, зазвичай, цей віджет використовують у межах ButtonGroup для створення панелі ексклюзивного вибору. Мітку, пов’язану з цим віджетом, можна встановити за допомогою властивості text. Від початку позначити віджет можна за допомогою встановлення властивості checked у значення true. Якщо всі віджети RadioButton у ButtonGroup мають значення властивості checked рівні true, позначеним буде лише останній з цих віджетів.

  RadioButton має 2 стани: позначено і не позначено.

  З RadioButton не пов’язано ніякого тексту віджета..

RichTextEditor

  Цей віджет є віджетом текстового редактора, який надає вам можливість простого форматування тексту.

  RichTextEditor завжди перебуває у одному стані, типовому.

  Текст віджета RichTextEditor є текстом, що міститься у полі редактора, разом з позначками форматування. Виділений текст можна отримати за допомогою спеціальної функції @selectedWidgetText.

SpinBoxInt

  Віджет, за допомогою якого користувач може змінювати ціле число натисканням кнопок зі стрілочками вгору і вниз або введенням значення у поле. Мінімальне і максимальне значення для віджета можна встановити за допомогою властивостей minValue і maxValue. Властивість specialValueText використовується для встановлення текстового значення, яке буде показано замість мінімального значення.

  Цей віджет завжди перебуває у одному стані, типовому.

  Текстом віджета SpinBoxInt є поточне показане у віджеті ціле число.

SubDialog

  Кнопка, після натискання якої буде відкрито інше діалогове вікно &kommander;. Діалогове вікно, яке буде відкрито можна вказати за допомогою властивості kmdrFile. Якщо властивість default матиме значення true, діалогове вікно буде відкрито після натискання клавіші &Enter;, коли поточне діалогове вікно перебуває у фокусі. Автор вважає, що ви можете використовувати цей віджет як контейнер. Роботу над цим віджетом ще не завершено.

  SubDialog завжди перебуває у одному стані, типовому.

  Текстом віджета SubDialog є пов’язаний текст діалогового вікна, яке буде відкрито.

  Цей віджет мав містити діалогове вікно, що вважається неприйнятним у новій концепції проекту. Чи слід залишити текстом &kommander; значення `@dialog()`, чи може взагалі позбутися його? У поточному стані віджет не вкладається у концепцію програми.

TabWidget

  Віджет, за допомогою якого у вікні створюються вкладки, кожна з яких може містити інші віджети.

TextEdit

  Простий багаторядковий текстовий редактор.

TextLabel

  Простий віджет, який містить фрагмент тексту. За допомогою цього віджета ви можете вказати і растрове зображення. Гаразд, редактор повідомить, що обидва ці значення є QLabels. Навіщо нам тоді потрібні 2 віджети, які виглядають однаково, але мають різні назви? — За розкладом має бути виправлено у A7.

  У Alpha 6 цей віджет увімкнено частково, його можна встановити за допомогою зовнішніх викликів DCOP.

TreeWidget

  Віджет списку у формі деревоподібної ієрархії. У Alpha 6 цей віджет повністю увімкнено для додавання або вилучення пунктів. Ви можете додавати дочірні пункти і дані, що складаються з декількох стовпчиків. Поточним обмеженням є неможливість зміни стовпчиків. Для додавання дочірнього вузла скористайтеся роздільником /. Для додавання даних у стовпчиках використовуйте екранований символ табуляції \t, вставлений між стовпчиками.