Arch manual pages

kgendesignerplugi(1) KDE Frameworks: KDesignerPlugi kgendesignerplugi(1)

kgendesignerplugin - Програма для створення додатків віджетів для Qt(TM) Designer.

.HP 456u kgendesignerplugin [ПАРАМЕТРИ...] файл

.PP Нетипові додатки віджетів для Qt(TM) Designer зазвичай мають стандартну структуру, класи, роботу яких забезпечує додаток, здебільшого надають статичну інформацію, а функція для створення екземпляра класу типово є простим викликом конструктора. За допомогою kgendesignerplugin розробники бібліотек, які створюють нові віджети, можуть створити такий додаток з усім стандартним кодом на основі простого файла опису у стилі ini.

.PP kgendesignerplugin вибирає загальноприйнятні типові значення для більшості параметрів, отже, зазвичай, потрібні лише мінімальні зміни у налаштуваннях.

.PP -o файл

Назва створеного програмою файла коду C++. Якщо назву не вказано, дані буде виведено до stdout.

.RE .PP -n назва додатка

Забезпечує сумісність із попередніми версіями. Типове значення для параметра PluginName у файлі вхідних даних.

.RE .PP -g група

Забезпечує сумісність із попередніми версіями. Типове значення для параметра DefaultGroup у файлі вхідних даних.

.RE .PP --author

Вивести дані щодо авторства програми.

.RE .PP --license

Вивести дані щодо умов ліцензування на програму.

.RE .PP -h, --help

Вивести короткий текст довідки.

.RE .PP -v , --version

Вивести дані щодо версії програми.

.RE

.PP Файл вхідних даних є файлом налаштувань у стилі ini (якщо бути точнішим, то у форматі, підтримуваному бібліотекою KConfig), який містить опис набору віджетів. У ньому має бути розділ [Global], де наведено загальні відомості щодо додатка, та окремий розділ для кожного з віджетів, які має бути включено до додатка.

.PP У розділі [Global] може бути вказано такі записи:

.PP DefaultGroup

Типове значення для запису Group у розділах класів (типове значення: "Custom", якщо не вказано параметра -g).

.RE .PP Includes

Список включень, відокремлених комами (типове значення: порожній). Зауважте, що тут не слід вказувати файли заголовків, які пізніше буде вказано у файлі; це лише спеціальні файли заголовків, які використовуватимуться лише самим додатком, якщо заголовки для класів, які надають можливість попереднього перегляду.

.RE .PP PluginName

Назва основного класу C++ у додатку (типове значення: WidgetsPlugin, якщо не вказано параметра -n).

.RE

.PP У кожного класу має бути власний розділ [ClassName], у якому мають бути такі записи:

.PP CodeTemplate

Значення, яке повертає функція codeTemplate() додатка, яку буде позначено для наступного використання Qt(TM) Designer (типове значення: порожнє).

.RE .PP ConstructorArgs

Аргументи, які слід передати конструктору класу, вказаного за допомогою ImplClass; ці значення слід вказувати у дужках (типове значення: (parent)). Єдиною гарантовано доступною змінною є parent, тобто батьківський об’єкт QWidget, переданий Qt(TM) Designer.

Цей запис буде проігноровано, якщо встановлено значення для CreateWidget.

.RE .PP CreateWidget

Код, потрібний для створення екземпляра віджета (типове значення: використовувати new для створення екземпляра класу, вказаного записом ImplClass, передавати аргументи, вказані за допомогою ConstructorArgs). Див. опис записів ImplClass та ConstructorArgs.

.RE .PP DomXML

Опис інтерфейсу користувача віджета у форматі XML (типове значення: типовий опис, створений на основі заголовків додатків Qt(TM) Designer).

.RE .PP Group

Група, у якій віджет буде показано у Qt(TM) Designer (типове значення: значення запису DefaultGroup у розділі [Global]).

.RE .PP IconName

Файл зображення або назва стандартної піктограми, яку слід використовувати як піктограму для цього віджета у списку віджетів Qt(TM) Designer (типове значення: файл PNG, назва якого збігається з назвою розділу без подвійних двокрапок, розташований у каталозі pics вбудованого файла ресурсів; приклад: :/pics/Foo.png у розділі [Foo] або :/pics/FooBar.png у розділі [Foo::Bar]).

.RE .PP ImplClass

Клас, який слід використовувати для створення екземпляра віджета для використання у Qt(TM) Designer (типове значення: назва розділу). Зауважте, що насправді це може бути не той клас, який було б створено остаточною програмою: той клас визначається у DomXML.

Цей запис буде проігноровано, якщо встановлено значення для CreateWidget.

.RE .PP IncludeFile

Файл заголовків, який слід включити для використання цього віджета (типове значення: написана малими літерами назва розділу без двокрапок з дописаним «.h»; приклад: foo.h у розділі [Foo] або foobar.h у розділі [Foo::Bar]).

.RE .PP IsContainer

Визначає, чи містить цей віджет інші віджети (типове значення: false).

.RE .PP ToolTip

Підказка, яку буде показано у відповідь на затримування вказівника миші на віджеті у списку віджетів Qt(TM) Designer (типове значення: назва розділу з дописуванням « Widget»; приклад: Foo Widget у розділі [Foo]).

.RE .PP WhatsThis

Текст підказки «Що це?», пов’язаної з віджетом у Qt(TM) Designer (типове значення: назва розділу з дописаним « Widget»; приклад: Foo Widget у розділі [Foo]).

.RE

.PP Найпростіший файл опису може виглядати так:

[Foo]
ToolTip=Displays foos
[Bar]
ToolTip=Bar editor
    

Зауважте, що у кожному класі має бути принаймні один встановлений ключ (у нашому прикладі використано ключ ToolTip), інакше запис класу буде проігноровано.

.PP Зазвичай, виникає потреба у зміні принаймні видимого користувачем тексту, тобто записів 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
    

.PP Якщо у вашій програмі використовуються окремі простори назв для різних класів або додаткові параметри, які слід передавати конструкторам, доведеться створити складніший файл. Приклад:

[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
    

.PP Іноді, у дуже складних віджетах потрібна особлива реалізація «класу попереднього перегляду» для використання у Qt(TM) Designer; це може бути підклас справжнього віджета, лише з деякими додатковими налаштуваннями, або зовсім відмінна від нього реалізація.

[Global]
Includes=foopreviews.h
[FancyWidget]
ImplClass=FancyWidgetPreview
    

.PP http://qt-project.org/doc/qt-5/designer-creating-custom-widgets.html

Документація з Qt(TM) Designer щодо створення додатків для нетипових віджетів.

.RE

.PP Для повідомлень про вади, будь ласка, використовуйте bugs.kde.org[1], не надсилайте ці повідомлення безпосередньо авторам.

Richard Johnson <rjohnson@kde.org>

Авторство початкової версії документації.

Alex Merry <alexmerry@kde.org>

Оновлена документація для KDE Frameworks 5.

1.
bugs.kde.org
http://bugs.kde.org
28 травня 2014 року KDE Frameworks Frameworks 5.0