QML изменить cursorShape внутри ChartView без использования MouseArea
У меня есть компонент ChartView с различными конфигурациями диаграммы (в зависимости от выбора пользователя, диаграмма будет отображать круговую / линейную / линейчатую / точечную диаграмму). Я использую функции графиков, чтобы сделать их кликабельными (на всех графиках hovered()/clicked() возвращаются срез / точки / бары, зависшие / clicked и их статус. Поэтому я не хочу использовать MouseArea (поэтому это не влияет на его поведение.
Имея это в виду, я хочу изменить cursorShape, когда мышь находится над элементом (срез / полоса / точка), к которому прикреплен некоторый эффект.
Структура кода следующая:
ChartView { /* Chart */
id:chartView
visible: (isPieChart || isBarChart || isLineChart)
anchors.fill: parent
//Pie Chart
PieSeries { visible: isPieChart; id: pieserieschart; size: 1; holeSize: 0.7;
onHovered: sliceHovered(slice, state)
}
// Bar Chart
StackedBarSeries { visible: isBarChart; id: barserieschart;
onHovered: barHovered(barset, status);
}
//Scatter Chart
ScatterSeries{ visible: isLineChart; id: scatterserieschart;
onHovered: pointHovered(point, state);
}
}
Я хотел бы изменить cursorShape всякий раз, когда срабатывает onHovered. Я не хочу заменять его на MouseArea, потому что каждая зависшая возвращает разные переменные и значения в зависимости от выбранной диаграммы, и мне нужны эти параметры. Установка MouseArea, которая заполняет весь график, также не будет работать, потому что я хочу, чтобы курсор изменялся только для элементов, которые можно нажимать (например, не на оси, легенде или заголовке). Есть идеи? Заранее спасибо.