C
Qul::Application Class
class Qul::ApplicationApplication クラスは、Qt Quick Ultralite を起動するために使用されます。詳細...
| Header: | #include <qul/application.h> |
| Since: | Qt Quick Ultralite 1.2 |
パブリック関数
| Application(const Qul::ApplicationConfiguration &applicationConfigs) | |
| void | exec() |
| void | setRootItem(Qul::RootItem *root) |
| Qul::ApplicationSettings & | settings() |
| const Qul::ApplicationSettings & | settings() const |
(since Qt Quick Ultralite 1.8) uint64_t | update() |
静的パブリックメンバー
| void | addFilesystem(Qul::PlatformInterface::Filesystem *filesystem) |
| void | addImageDecoder(Qul::PlatformInterface::ImageDecoder *imagedecoder) |
| void | addImageProvider(const char *providerId, Qul::ImageProvider *provider) |
| void | addMapTileFetcher(Qul::MapTileFetcher *tilefetcher) |
| void | registerGeoPositionSource(Qul::GeoPositionSource *positionSource) |
マクロ
詳細な説明
このクラスのコンストラクタは、Qt Quick Ultraliteを初期化します。通常、このクラスはmain() 関数内で生成され、起動時に表示されるアイテムはsetRootItem()で設定され、その後exec()が呼び出されてイベントループに入ります。ハードウェアは、Qul::initHardware()または独自のコードによって初期化する必要があります。 イベントループに入る前に、Qt Quick のUltraliteプラットフォームをQul::initPlatform()で初期化する必要があります。たとえば、QMLで定義されたルートアイテムがMainという名前の場合:
Qul::initHardware(); // Optional
Qul::initPlatform();
Qul::Application app;
static struct Main item;
app.setRootItem(&item);
app.exec();「アプリケーションでのQt Quick Ultraliteの実行」も参照してください 。
メンバ関数のドキュメント
Application::Application(const Qul::ApplicationConfiguration &applicationConfigs)
Qul::ApplicationConfiguration インスタンスを引数とする、Applicationクラスの別のコンストラクタです。テキストキャッシュの有効化やサイズなどの設定は、デフォルトのコンストラクタではなく、このコンストラクタを使用して行います。
[static] void Application::addFilesystem(Qul::PlatformInterface::Filesystem *filesystem)
file:// URLスキーマを使用してファイルを開く際に、検索対象となるファイルシステムを追加します。
本アプリケーションは、filesystem の所有権を取得しません。
ファイルシステムの実装および使用方法の詳細については、ファイルシステムのドキュメントを参照してください。
「Qul::PlatformInterface::Filesystem」も参照してください 。
[static] void Application::addImageDecoder(Qul::PlatformInterface::ImageDecoder *imagedecoder)
画像を読み込む際に検索対象となる画像デコーダを追加します。
アプリケーションは、imagedecoder の所有権を取得しません。
カスタム画像デコーダの実装および使用方法の詳細については、画像デコーダのドキュメントを参照してください。
「Qul::PlatformInterface::ImageDecoder」も参照してください 。
[static] void Application::addImageProvider(const char *providerId, Qul::ImageProvider *provider)
image:// URLスキーマを介して画像をリクエストする際に使用するprovider を、ホストproviderId として設定します。
アプリケーションは、provider の所有権を取得しません。
画像プロバイダの実装および使用の詳細については、ImageProvider のドキュメントを参照してください。必要なすべての画像プロバイダは、QMLソースファイルが読み込まれる前にエンジンに追加する必要があります。
providerId はヌル終端されている必要があります。
[static] void Application::addMapTileFetcher(Qul::MapTileFetcher *tilefetcher)
Map アイテムがマップタイルの画像を要求する際に使用される、マップタイルフェッチャーを追加します。
アプリケーションは、tilefetcher の所有権を取得しません。
マップタイルフェッチの実装の詳細については、「マップタイルフェッチの統合」を参照してください。
「Qul::MapTileFetcher」も参照してください 。
void Application::exec()
Qt Quick のUltraliteイベントループに入り、戻ってきません。
[static] void Application::registerGeoPositionSource(Qul::GeoPositionSource *positionSource)
PositionSource アイテムが位置情報を要求する際に使用される位置情報ソースを登録します。
アプリケーションは、positionSource の所有権を取得しません。
位置情報ソースの実装の詳細については、「位置情報ソースの統合」を参照してください。
「Qul::GeoPositionSource」も参照してください 。
void Application::setRootItem(Qul::RootItem *root)
アプリケーションの起動時に表示されるアイテムを `root` に設定します。これらのアイテムは QML で定義されており、C++ でのそれらを表す構造体は、.qml ファイルと同じ名前を持つ生成されたヘッダーファイル内で定義されています。
Qul::ApplicationSettings &Application::settings()
Application の設定を行うための便利なApplicationSettings オブジェクトを返します。
const Qul::ApplicationSettings &Application::settings() const
これはオーバーロードされた関数です。
[since Qt Quick Ultralite 1.8] uint64_t Application::update()
Qt Quick Ultralite コアエンジンを更新します
アプリケーションコード内でメインループを実装する際、この関数はQt Quick Ultraliteコアエンジンを更新するために使用されます。Qt Quick Ultraliteコアエンジンが次に呼び出される予定のタイムスタンプを返します。現在のタイムスタンプよりも小さい値、あるいは0が返された場合は、できるだけ早くupdate()を呼び出す必要があります。 現在のタイムスタンプよりも大きい値が指定された場合、プラットフォーム実装は指定された時刻にupdate()を呼び出す必要があります。スケジュールされた時刻までは、デバイスはスリープモードに入る可能性があります。
exec() を使用する場合は、これは必要ありません。
Qul::initHardware();
Qul::initPlatform();
Qul::Application app;
static MainScreen item;
app.setRootItem(&item);
while (true) {
uint64_t now = Qul::Platform::getPlatformInstance()->currentTimestamp();
// <handle timers>
uint64_t nextUpdate = app.update();
if (nextUpdate > now) {
// Device can go to sleep until next update is due
// enterLowPowerMode(nextUpdate - now);
}
}この関数は、Qt Quick Ultralite 1.8 で導入されました。
exec()も参照してください 。
マクロのドキュメント
APP_DEFAULT_UILANGUAGE
生成されたエントリポイントを使用する際、アプリケーションのデフォルトのユーザーインターフェース言語を設定します。
target_compile_definitions(<target> PRIVATE APP_DEFAULT_UILANGUAGE="fi_FI")「qul_add_target」および「 Qt Quick Ultralite による国際化とローカライズ」も参照してください 。
APP_SAFE_RENDERER
生成されたエントリポイントを使用する場合、Safe Renderer Bitmap (SRB) デコーダを有効にします。SRB デコーダは、SafeImage やSafeText などの安全上重要な項目を使用するアプリケーションに必要です。
target_compile_definitions(<target> PRIVATE APP_SAFE_RENDERER)「 qul_add_target」および Qt Quick Ultralite Safe Renderer QML Typesおよび「安全上重要な要素を含むQt Quick Ultralite アプリケーション」も参照してください。
特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。