Я пытаюсь получить ссылку на динамически создаваемый LineSeries при наведении курсора.После создания LinesSeries я присоединяю обработчик сигнала к событию hovered.
Проблема заключается в следующем: из приведенного ниже упрощенного примера при наведении указателя мыши на LineSeries выводится имя последнего добавленного LineSeries.Когда следует напечатать название каждой серии добавленных LineSeries.Например, если 3 LineSeries были созданы с именами [«Строка A», «Строка B», «Строка C»], при наведении курсора на каждое из них следует печатать каждое соответствующее имя, но вместо этого печатать «Строка C» для всех 3LineSeries зависал обработчики событий.Что я делаю не так?
//dataset is a dictionary(QVariant) of items where each item is the name of the line series
for(var name in dataset) {
var series = chart.createSeries(ChartView.SeriesTypeLine, name, xAxis, yAxis);
series.name = name;
series.hovered.connect(
function (point,state){
if (state){
console.log(">>>"+ name); // <- should print the name of each series
}
});
У меня такое ощущение, что это связано с привязкой текущего значения переменной name к обработчику событий onhovered, но я не уверен, как это сделать.Я знаю, что в обычном JS они делают что-то вроде
functionName.bind ({... code ...}, this);
Спасибо за вашу помощь.
--E