linux需要在main.cpp开头添加:
cpp
qputenv("QT_QPA_PLATFORM", "eglfs");
qputenv("QT_OPENGL", "es2");
qputenv("QT_QPA_EGLFS_INTEGRATION", "eglfs_kms");
直接在main.qml或其他顶层文件添加
注意一定在其他z的上面
javascript
MouseArea {
id: mouseTracker
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.AllButtons
// 确保光标可见
cursorShape: Qt.ArrowCursor
// 调试:打印坐标(开发时开启)
onPositionChanged: {
//console.log("鼠标:", mouseX, mouseY);
}
}
// ==================== 自定义光标(Rectangle) ====================
Rectangle {
id: customCursor
// 光标外观:高对比度方块
width: 16
height: 16
color: "#00FF00" // 纯绿色,容易看清
border.color: "#FFFFFF"
border.width: 2
radius: 8 // 圆形效果
// 热点偏移(让光标尖端在鼠标中心)
x: mouseTracker.mouseX - width/2
y: mouseTracker.mouseY - height/2
// 只在窗口内显示
visible: mouseTracker.containsMouse
// 确保在最上层
z: 9999
// 平滑移动(可选)
Behavior on x { NumberAnimation { duration: 0 } } // 0ms=立即跟随
Behavior on y { NumberAnimation { duration: 0 } }
}
修改:
如果有同级以上的都改成999。一定确保自定义鼠标在最上