如何构建一个自定义的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应用程序。