Страницы «О программе» в FormCard
Kirigami Addons — это дополнительный набор визуальных компонентов, которые хорошо работают на мобильных устройствах и настольных компьютерах и гарантированно являются кроссплатформенными. Для создания компонентов используется Kirigami.
Некоторые из этих компонентов позволяют указать авторство своей работы и работы других участников проекта, а также упомянуть используемые в приложении фреймворки: AboutKDE и AboutPage.
О KDE
Каждая новая кнопка, созданная на предыдущем шаге, должна открывать новую страницу. Добавить новые страницы можно, создав их как Components и затем используя pageStack.layers.push() для каждой кнопки, чтобы загрузить эту страницу в Main.qml:
| |
Вот и всё! Достаточно создать экземпляр FormCard.AboutKDE. После нажатия кнопки AboutKDE должно появиться примерно следующее:

Страница «О программе»
Страница AboutPage приложения немного сложнее, но пользоваться ею по-прежнему очень просто.
Чтобы создать простую страницу «О программе», использующую данные, заданные с помощью KAboutData::setApplicationData(aboutData); в main.cpp, добавьте в Main.qml следующее:
| |
Страница «О программе» нашего приложения должна выглядеть так:

Использование JSON вместо KAboutData
Вместо того чтобы страница «О программе» получала информацию из KAboutData, можно передать объект JSON напрямую. Тем не менее, чтобы значок приложения показывался, потребуется использовать QApplication::setWindowIcon() в файле main.cpp.
Создайте файл MyAboutPage.qml следующим образом:
import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.about
FormCard.AboutPage {
title: i18nc("@action:button", "About")
aboutData: {
"displayName" : "Addons Example",
"productName" : "",
"componentName" : "addonsexample",
"shortDescription" : "This program shows how to use AboutKDE and AboutPage",
"homepage" : "https://kde.org",
"bugAddress" : "",
"version" : "1.0",
"otherText" : "Optional text shown in the About",
"authors" : [
{
"name" : "John Doe",
"task" : "Maintainer",
"emailAddress" : "",
"webAddress" : "",
"ocsUsername" : ""
}
],
"credits" : [],
"translators" : [],
"licenses" : [
{
"name" : "GPL v3",
"text" : "Long license text goes here",
"spdx" : "GPL-3.0"
}
],
"copyrightStatement" : "© 2023",
"desktopFileName" : ""
}
}
Затем измените файл Main.qml, добавив новую страницу «О программе»:
| |
Основной объект JSON здесь содержит ключи displayName, productName, homepage и так далее. Каждому из ключей authors, credits, translators и licenses можно передать массив объектов. Объекты, передаваемые в authors, credits и translators, используют одни и те же ключи, что позволяет показывать их в отдельных разделах, а licenses содержит ключи name, text и spdx для каждой добавленной лицензии, поскольку один и тот же проект нередко включает несколько лицензий.
Эти ключи необязательны, но ожидается разумный минимум ключей, чтобы в приложении не было пустых полей: displayName, version, description, homepage, copyrightStatement и authors. Тем не менее рекомендуется заполнить как можно больше ключей.