如何使用自定义 eglfs 光标图集进行构建



我正在尝试更改嵌入式Linux QT应用程序(QT5.5)的eglfs鼠标光标图形。 我有新的光标图集 PNG 和新的 JSON 描述符文件,但文档相当模糊:

"..通过将QT_QPA_EGLFS_CURSOR环境变量设置为 JSON 文件的名称,可以提供自定义游标图集。该文件也可以通过Qt的资源系统嵌入到应用程序中。

如果可能的话,我更愿意将所有内容都保留在资源系统中,但我无法弄清楚如何做到这一点.. 我是否需要包含 JSON 文件路径的特定 qrc 文件? 我假设还需要将 PNG 文件添加为资源,以便将其内置到应用程序中?

如果通过资源系统添加它是一个坏主意,那么设置QT_QPA_EGLFS_CURSOR环境变量的正确位置在哪里? 我目前正在通过"-platform eglfs"在命令行上指定平台;这是否可以,或者我需要在构建中将平台设置为 eglfs?

经过大量的试验、错误和挖掘,我找到了我在资源系统中寻找的解决方案。

创建一个名为"cursor.qrc"的新资源文件,其内容需要为两行:

path/to/your/custom-cursor-atlas.png
cursor.json

第一行(游标图集的路径)必须相对于资源目录。

然后,您需要将 JSON 文件(文档中描述的内容)放在资源目录的根目录中。 它必须称为"cursor.json",并且其图像位置行必须与新资源文件中的位置匹配,并且格式为:

"image": ":/path/to/your/custom-cursor-atlas.png",

然后,这将在资源中包含您的光标图集,Qt将在您的应用程序启动时找到它。

运行时解决方案示例:

export XDG_RUNTIME_DIR=~
export QT_QPA_EGLFS_CURSOR=~/cursor.json

cursor.json

"image": "cursor.png",

将您的自定义cursor.png图集放入您的家庭目录(~),然后从那里运行Qt应用程序。

相关内容

  • 没有找到相关文章

最新更新