【发布时间】:2019-03-27 20:47:07
【问题描述】:
我试图在悬停时获取对动态创建的 LineSeries 的引用。创建 LinesSeries 后,我将信号处理程序附加到悬停事件。
问题是: 在下面的简化示例中,当我将鼠标悬停在 LineSeries 上时,它会打印出最后添加的 LineSeries 的名称。何时应该打印添加的每个 LineSeries 的系列名称。 例如,如果使用名称 ["Line A", "Line B", "Line C" ] 创建了 3 个 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 );
感谢您的帮助。
--E
【问题讨论】:
标签: javascript qt qml qtquick2 qtquickcontrols2