悬停时,我试图获取对动态创建的LineSeries的引用。创建LinesSeries之后,我将信号处理程序附加到悬停的事件上。
问题是:从下面的简化示例中,当我将鼠标悬停在LineSeries上时,它会打印出最后添加的LineSeries的名称。什么时候应该打印添加的每个LineSeries的系列名称。例如,如果创建的3个LineSeries的名称为[“ Line A”,“ Line B”,“ Line C”],则将鼠标悬停在每个LineSeries上时,应打印每个对应的名称,而对所有3个打印机都打印“ Line C” LineSeries悬停的事件处理程序。我究竟做错了什么?
//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);
相关分类