Provided by: kgendesignerplugin-bin_5.116.0-0ubuntu1_amd64
kgendesignerplugi(1) KDE Frameworks: KDesignerPlugi kgendesignerplugi(1)
НАЗВА
kgendesignerplugin - Програма для створення додатків віджетів для Qt(TM) Designer.
КОРОТКИЙ ОГЛЯД
kgendesignerplugin [ПАРАМЕТРИ...] файл
ОПИС
Нетипові додатки віджетів для Qt(TM) Designer зазвичай мають стандартну структуру, класи, роботу яких забезпечує додаток, здебільшого надають статичну інформацію, а функція для створення екземпляра класу типово є простим викликом конструктора. За допомогою kgendesignerplugin розробники бібліотек, які створюють нові віджети, можуть створити такий додаток з усім стандартним кодом на основі простого файла опису у стилі ini. kgendesignerplugin вибирає загальноприйнятні типові значення для більшості параметрів, отже, зазвичай, потрібні лише мінімальні зміни у налаштуваннях.
ПАРАМЕТРИ
-o файл Назва створеного програмою файла коду C++. Якщо назву не вказано, дані буде виведено до stdout. -n назва додатка Забезпечує сумісність із попередніми версіями. Типове значення для параметра PluginName у файлі вхідних даних. -g група Забезпечує сумісність із попередніми версіями. Типове значення для параметра DefaultGroup у файлі вхідних даних. --author Вивести дані щодо авторства програми. --license Вивести дані щодо умов ліцензування на програму. -h, --help Вивести короткий текст довідки. -v , --version Вивести дані щодо версії програми.
ФОРМАТ ФАЙЛІВ
Файл вхідних даних є файлом налаштувань у стилі ini (якщо бути точнішим, то у форматі, підтримуваному бібліотекою KConfig), який містить опис набору віджетів. У ньому має бути розділ [Global], де наведено загальні відомості щодо додатка, та окремий розділ для кожного з віджетів, які має бути включено до додатка. У розділі [Global] може бути вказано такі записи: DefaultGroup Типове значення для запису Group у розділах класів (типове значення: "Custom", якщо не вказано параметра -g). Includes Список включень, відокремлених комами (типове значення: порожній). Зауважте, що тут не слід вказувати файли заголовків, які пізніше буде вказано у файлі; це лише спеціальні файли заголовків, які використовуватимуться лише самим додатком, якщо заголовки для класів, які надають можливість попереднього перегляду. PluginName Назва основного класу C++ у додатку (типове значення: WidgetsPlugin, якщо не вказано параметра -n). У кожного класу має бути власний розділ [ClassName], у якому мають бути такі записи: CodeTemplate Значення, яке повертає функція codeTemplate() додатка, яку буде позначено для наступного використання Qt(TM) Designer (типове значення: порожнє). ConstructorArgs Аргументи, які слід передати конструктору класу, вказаного за допомогою ImplClass; ці значення слід вказувати у дужках (типове значення: (parent)). Єдиною гарантовано доступною змінною є parent, тобто батьківський об’єкт QWidget, переданий Qt(TM) Designer. Цей запис буде проігноровано, якщо встановлено значення для CreateWidget. CreateWidget Код, потрібний для створення екземпляра віджета (типове значення: використовувати new для створення екземпляра класу, вказаного записом ImplClass, передавати аргументи, вказані за допомогою ConstructorArgs). Див. опис записів ImplClass та ConstructorArgs. DomXML Опис інтерфейсу користувача віджета у форматі XML (типове значення: типовий опис, створений на основі заголовків додатків Qt(TM) Designer). Group Група, у якій віджет буде показано у Qt(TM) Designer (типове значення: значення запису DefaultGroup у розділі [Global]). IconName Файл зображення або назва стандартної піктограми, яку слід використовувати як піктограму для цього віджета у списку віджетів Qt(TM) Designer (типове значення: файл PNG, назва якого збігається з назвою розділу без подвійних двокрапок, розташований у каталозі pics вбудованого файла ресурсів; приклад: :/pics/Foo.png у розділі [Foo] або :/pics/FooBar.png у розділі [Foo::Bar]). ImplClass Клас, який слід використовувати для створення екземпляра віджета для використання у Qt(TM) Designer (типове значення: назва розділу). Зауважте, що насправді це може бути не той клас, який було б створено остаточною програмою: той клас визначається у DomXML. Цей запис буде проігноровано, якщо встановлено значення для CreateWidget. IncludeFile Файл заголовків, який слід включити для використання цього віджета (типове значення: написана малими літерами назва розділу без двокрапок з дописаним «.h»; приклад: foo.h у розділі [Foo] або foobar.h у розділі [Foo::Bar]). IsContainer Визначає, чи містить цей віджет інші віджети (типове значення: false). ToolTip Підказка, яку буде показано у відповідь на затримування вказівника миші на віджеті у списку віджетів Qt(TM) Designer (типове значення: назва розділу з дописуванням « Widget»; приклад: Foo Widget у розділі [Foo]). WhatsThis Текст підказки «Що це?», пов’язаної з віджетом у Qt(TM) Designer (типове значення: назва розділу з дописаним « Widget»; приклад: Foo Widget у розділі [Foo]).
ПРИКЛАДИ
Найпростіший файл опису може виглядати так: [Foo] ToolTip=Displays foos [Bar] ToolTip=Bar editor Зауважте, що у кожному класі має бути принаймні один встановлений ключ (у нашому прикладі використано ключ ToolTip), інакше запис класу буде проігноровано. Зазвичай, виникає потреба у зміні принаймні видимого користувачем тексту, тобто записів ToolTip, WhatsThis та Group. Крім того, варто також визначити назву додатка, щоб запобігти можливим конфліктам символів і не ускладнювати роботу засобів діагностики (самої програми та особи, яка шукає вади): [Global] PluginName=FooWidgets DefaultGroup=Display [Foo] ToolTip=Displays bears WhatsThis=An image widget that displays dancing bears [Bar] ToolTip=Bar editor WhatsThis=An editor interface for bars for bears Group=Editing Якщо у вашій програмі використовуються окремі простори назв для різних класів або додаткові параметри, які слід передавати конструкторам, доведеться створити складніший файл. Приклад: [Global] PluginName=FooWidgets DefaultGroup=Foo [Foo::Bar] ToolTip=Displays bars WhatsThis=A widget that displays bars in a particular way IncludeFile=foo/bar.h IconName=:/previews/bar.png [Foo::Baz] IncludeFile=foo/baz.h ConstructorArgs=(Foo::Baz::SomeOption, parent) Group=Foo (Special) IsContainer=true IconName=:/previews/baz.png Іноді, у дуже складних віджетах потрібна особлива реалізація «класу попереднього перегляду» для використання у Qt(TM) Designer; це може бути підклас справжнього віджета, лише з деякими додатковими налаштуваннями, або зовсім відмінна від нього реалізація. [Global] Includes=foopreviews.h [FancyWidget] ImplClass=FancyWidgetPreview
ПРОЧИТАЙТЕ ТАКОЖ
https://doc.qt.io/qt-5/designer-creating-custom-widgets.html Документація з Qt(TM) Designer щодо створення додатків для нетипових віджетів.
ВАДИ
Для повідомлення про вади, будь ласка, скористайтеся системою стеження за вадами KDE[1], не надсилайте електронних листів безпосередньо авторам.
АВТОРИ
Richard Johnson <rjohnson@kde.org> Авторство початкової версії документації. Alex Merry <alexmerry@kde.org> Оновлена документація для KDE Frameworks 5.
ПРИМІТКИ
1. системою стеження за вадами KDE https://bugs.kde.org