我正在尝试为我的嵌入式linux QT应用程序(QT5.5)更改eglfs鼠标光标图形。我有新的游标图集PNG和新的JSON描述符文件,但文档相当模糊:
"..通过将QT_QPA_EGLFS_CURSOR环境变量设置为JSON文件的名称,可以提供自定义游标图集。该文件也可以通过Qt的资源系统嵌入到应用程序中。“
如果可能的话,我更愿意把所有的东西都放在资源系统中,但是我不知道该怎么做。我是否需要一个包含JSON文件路径的特定qrc文件?我假设PNG文件也需要作为资源添加,以便将其内置到应用程序中?
如果通过资源系统添加它不是一个好主意,那么在哪里设置QT_QPA_EGLFS_CURSOR环境变量是正确的呢?我目前正在命令行中通过"-platform eglfs“指定平台;这样可以吗?或者我需要在构建中将平台设置为eglfs吗?
发布于 2016-04-05 00:35:33
经过多次的试验,错误和挖掘,我找到了我在资源系统中寻找的解决方案。
创建一个名为cursor.qrc的新资源文件,该文件的内容需要为两行:
path/to/your/custom-cursor-atlas.png
cursor.json第一行(游标图集的路径)必须是相对于资源目录的。
然后,您需要将JSON文件(内容在documentation中描述)放在资源目录的根目录中。必须将其命名为"cursor.json",并且其图像位置行必须与新资源文件中的位置匹配,并且格式为:
"image": ":/path/to/your/custom-cursor-atlas.png",这将在资源中包含您的光标图集,Qt将在您的应用程序启动时找到它。
发布于 2017-07-20 20:03:24
运行时解决方案示例:
export XDG_RUNTIME_DIR=~
export QT_QPA_EGLFS_CURSOR=~/cursor.json在cursor.json中
"image": "cursor.png",将您的自定义cursor.png地图集放到您的主目录(~)中,然后从那里运行Qt应用程序。
https://stackoverflow.com/questions/36068450
复制相似问题