C

应用程序类

class Qul::Application

应用程序类用于启动 Qt Quick Ultralite. 更多...

头文件 #include <qul/application.h>
Qt Quick Ultralite 1.2

公开函数

Application(const Qul::ApplicationConfiguration &applicationConfigs)
voidexec()
voidsetRootItem(Qul::RootItem *root)
Qul::ApplicationSettings &settings()
const Qul::ApplicationSettings &settings() const
uint64_tupdate()

静态公开成员

voidaddFilesystem(PlatformInterface::Filesystem *filesystem)
voidaddImageDecoder(PlatformInterface::ImageDecoder *imagedecoder)
voidaddImageProvider(const char *providerId, Qul::ImageProvider *provider)

详细描述

此类的构造初始化 Qt Quick Ultralite。通常它是在 main() 函数中构造的,启动时显示的项目通过 setRootItem() 设置,然后调用 exec() 以进入事件循环。必须通过 Qul::initHardware() 或您自己的代码初始化硬件。在进入事件循环之前,必须通过 Qul::initPlatform() 初始化 Qt Quick Ultralite 平台。例如,如果定义在 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 类的替代构造函数。使用此构造函数而不是默认构造函数配置文本缓存设置,例如启用文本缓存和文本缓存大小。

[静态] void Application::addFilesystem(PlatformInterface::Filesystem *filesystem)

添加一个要在使用 file:// URL 方案打开文件时搜索的文件系统。

应用程序不拥有 文件系统

有关实现和使用文件系统的详细信息,请参阅 文件系统文档

另请参阅 Qul::PlatformInterface::Filesystem

[静态] void Application::addImageDecoder(PlatformInterface::ImageDecoder *imagedecoder)

添加图像解码器,在加载图像时进行搜索。

应用程序不拥有 imagedecoder

有关实现和使用自定义图像解码器的详细信息,请参阅 图像解码器文档

另请参阅 Qul::PlatformInterface::ImageDecoder

[静态] void Application::addImageProvider(const char *providerId, Qul::ImageProvider *provider)

provider 设置为用于通过 image:// url 方案请求图像,主机为 providerId

应用程序不拥有 provider

请参阅 ImageProvider 文档以了解实现和使用图像提供器的详细信息。必须在加载任何 QML 源文件之前将所有必需的图像提供器添加到引擎中。

providerId 必须以空字符结尾。

void Application::exec()

进入 Qt Quick Ultralite 事件循环并返回。

void Application::setRootItem(Qul::RootItem *root)

将应用程序启动时显示的项目设置为 root。项目由 QML 定义,在 C++ 中定义的表示它们的结构体在生成的头文件中定义,该头文件的名称与 .qml 文件相同。

Qul::ApplicationSettings &Application::settings()

通过该对象配置应用程序,返回一个方便的 ApplicationSettings 对象。

const Qul::ApplicationSettings &Application::settings() const

这是一个重载函数。

[自 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()。

在某些 Qt 许可下可用。
了解更多信息。