Пространство имён SailfishApp

Пространство имён SailfishApp позволяет легко создавать приложения ОС Аврора. Подробнее...

Подключение: #include

Функции

QGuiApplication * application(int &argc, char **argv)
QQuickView * createView()
int main(int &argc, char **argv)
QUrl pathTo(const QString &filename)
QUrl pathToMainQml()

Подробное описание

При создании приложения QT для использования в ОС Аврора, функции в пространстве имён SailfishApp предоставляют простой и минимальный способ управления жизненным циклом приложения, интерфейс QML, цикл событий Qt, и управляют ресурсами.

Чтобы использовать SailfishApp в проекте, необходимо выполнить следующее:

  1. Добавить BuildRequires: pkgconfig(sailfishapp) в файл .spec.
  2. Установить TARGET = harbour-yourappname в файле .pro.
  3. Добавить CONFIG += sailfishapp в файл .pro.
  4. Включить sailfishapp.h в файл .cpp.
  5. Использовать методы SailfishApp:: в функции main().

Пример использования:

#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QScopedPointer app(SailfishApp::application(argc, argv));
    QScopedPointer view(SailfishApp::createView());

    view->setSource(SailfishApp::pathTo(QString("qml/main.qml")));
    view->show();

    return app->exec();
}

Описание функций

QGuiApplication *SailfishApp::application(int &argc, char **argv)

Функция создаёт и настраивает приложение QGuiApplication, готовое к использованию как часть приложения ОС Аврора.

После удаления всех аргументов, переданных в main, которые специфичны для данного приложения, оставшиеся аргументы должны быть переданы вызову этой функции.

Возвращённый экземпляр QGuiApplication принадлежит приложению, поэтому его следует удалить, когда он больше не требуется.

Параметры argc и argv — это параметры командной строки, которые нужно передать для интерпретации. Параметр argv — это массив указателей на нуль-терминированные строки, которые нужно интерпретировать, а argc — это длина этого массива (количество параметров для интерпретации).

Возвращает новый экземплярQGuiApplication для использования в приложении.

QQuickView *SailfishApp::createView()

Функция создаёт новый экземпляр QQuickView, который приложение может использовать для отображения пользовательского интерфейса. QQuickView можно использовать, например, для настройки корневой страницы QML, которая будет отображаться приложением.

Возвращённый экземпляр QQuickView принадлежит приложению, поэтому его следует удалить, когда он больше не требуется.

Возвращает новый экземпляр QQuickView для использования в пользовательском интерфейсе.

int SailfishApp::main(int &argc, char **argv)

Вспомогательная функция для запуска приложения ОС Аврора с минимальными усилиями.

Если приложение в основном использует QML с ограниченной потребностью во взаимодействии с C++, то можно использовать этот вызов, чтобы приложение запускалось наиболее быстро и безболезненно. Следует убедиться, что имеется файл QML с именем qml/$$TARGET.qml внутри каталога установки данных приложения (обычно это файл /usr/share/$$TARGET/qml/$$TARGET.qml ), а затем достаточно просто вызвать main, чтобы запустить в приложении цикл событий Qt.

Применяя этот подход, можно запустить минимальное приложение, используя следующий код.

#include 

int main(int argc, char *argv[])
{
    return SailfishApp::main(argc, argv);
}

После удаления всех аргументов, переданных в main, которые специфичны для данного приложения, оставшиеся аргументы должны быть переданы вызову этой функции.

Возвращаемое значение вызова может использоваться как возвращаемое значение для приложения. При нормальном выходе будет возвращено нулевое значение, любое другое значение обозначает аварийный выход.

Параметры argc и argv — это параметры командной строки, которые нужно передать для интерпретации. Параметр argv — это массив указателей на нуль-терминированные строки, которые нужно интерпретировать, а argc — это длина этого массива (количество параметров для интерпретации).

Возвращает результат выполнения приложения. Ноль для нормального выхода, ненулевые значения для всего остального.

QUrl SailfishApp::pathTo(const QString &filename)

Функция преобразует относительный путь к ресурсу в полный путь, специфичный для приложения.

Используется для поиска полного пути к файлу, содержащемуся в каталоге данных приложения. Параметр filename должен указывать на файл относительно базы каталога данных. Возвращенный URL-адрес будет полным путем, указывающим на файл.

Каталог данных обычно находится в /usr/share/$$TARGET (где $$TARGET — это имя приложения), поэтому для приложения с именем auroraos-myapp и исходного имени файла "qml\myApp.qml" файл с результатом будет можно найти по адресу /usr/share/auroraos-myapp/qml/myApp.qml.

Параметр filename содержит путь относительно каталога данных приложения.

Возвращает полный путь, указывающий на файл.

QUrl SailfishApp::pathToMainQml()

Возвращает путь к файлу QML, используемому в качестве корня пользовательского интерфейса приложения

Эта функция используется для получения в локальной файловой системе пути к файлу qml, который открывается при запуске приложения, и который будет формировать корень всех других файлов QML, отображаемых приложением. Файл должен содержать тип ApplicationWindow, который ссылается на начальную страницу приложения, и обложку, которая будет использоваться на экране приложения. Пример:

import QtQuick 2.0
import Sailfish.Silica 1.0

ApplicationWindow {
    initialPage: Component { MainPage { } }
        // ... Указывает на первую страницу для отображения
    cover: Qt.resolvedUrl("cover/CoverPage.qml")
        // ... Указывает на файл, который будет использоваться для обложки приложения
    allowedOrientations: defaultAllowedOrientations
}

Возвращаемый путь обычно имеет вид /usr/share/$$TARGET/qml/$$TARGET.qml (где $$TARGET — это имя приложения), поэтому для приложения с именем auroraos-myapp возвращаемый путь будет /usr/share/auroraos-myapp/qml/auroraos-myapp.qml.

Возвращает полный путь, указывающий на файл.