将LineSeries悬停在上方时,获取QML LineSeries的名称

悬停时,我试图获取对动态创建的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);


手掌心
浏览 429回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript