kgendesignerplugi(1) | KDE Frameworks: KDesignerPlugi | kgendesignerplugi(1) |
kgendesignerplugin - Програма для створення додатків віджетів для Qt(TM) Designer.
kgendesignerplugin [ПАРАМЕТРИ...] файл
Нетипові додатки віджетів для Qt(TM) Designer зазвичай мають стандартну структуру, класи, роботу яких забезпечує додаток, здебільшого надають статичну інформацію, а функція для створення екземпляра класу типово є простим викликом конструктора. За допомогою kgendesignerplugin розробники бібліотек, які створюють нові віджети, можуть створити такий додаток з усім стандартним кодом на основі простого файла опису у стилі ini.
kgendesignerplugin вибирає загальноприйнятні типові значення для більшості параметрів, отже, зазвичай, потрібні лише мінімальні зміни у налаштуваннях.
-o файл
-n назва додатка
-g група
--author
--license
-h, --help
-v , --version
Файл вхідних даних є файлом налаштувань у стилі ini (якщо бути точнішим, то у форматі, підтримуваному бібліотекою KConfig), який містить опис набору віджетів. У ньому має бути розділ [Global], де наведено загальні відомості щодо додатка, та окремий розділ для кожного з віджетів, які має бути включено до додатка.
У розділі [Global] може бути вказано такі записи:
DefaultGroup
Includes
PluginName
У кожного класу має бути власний розділ [ClassName], у якому мають бути такі записи:
CodeTemplate
ConstructorArgs
Цей запис буде проігноровано, якщо встановлено значення для CreateWidget.
CreateWidget
DomXML
Group
IconName
ImplClass
Цей запис буде проігноровано, якщо встановлено значення для CreateWidget.
IncludeFile
IsContainer
ToolTip
WhatsThis
Найпростіший файл опису може виглядати так:
[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
Для повідомлення про вади, будь ласка, скористайтеся системою стеження за вадами KDE[1], не надсилайте електронних листів безпосередньо авторам.
Richard Johnson <rjohnson@kde.org>
Alex Merry <alexmerry@kde.org>
28 травня 2014 року | KDE Frameworks Frameworks 5.0 |