QML图表互动



我有一个动态创建的饼图,该饼图使用下面描述的函数createpiechart()。单击切片时,我想调用一个函数以打印出该切片的标签和值。

我面临2个问题:

  1. 尽管我连接"单击"或"按"或"释放"信号,但未达到插槽。我正在使用QTCHARTS 2.0(我现在无法更新)。
  2. 我能够连接"悬停"信号,但没有传递任何参数,所以我不知道自己喜欢什么切片。

这些是其他功能:

function createPieChart(data){
    pieserieschart.clear();
    slices.splice(0, slices.length) //clear slices array
    for (var prop in data) {
        slices.unshift(pieserieschart.append(prop, data[prop]));
        //I get "Cannot read property 'label' of undefined using this method
        slices[0].hovered.connect(function(){mouseHoverSlice(slices[0].label));
        //WORKS, but I want to pass the label of that slice (and the value if possible)
        slices[0].hovered.connect(mouseHoverSlice); 
        //it is not working at all
        slices[i].clicked.connect(sliceClicked);
    }

 function sliceClicked(){
     console.log("Slice Clicked"); //I cannot see this printed
 }
 function mouseHoverSlice(info){
     console.log("Slice hover: " + info);
 }

关于如何做的任何想法?谢谢!

升级到qtcharts 2.2后,我能够这样解决:派&线&散点图,我使用了弹出式的,它返回切片/点。因此,当创建切片或动态点时,您无需连接任何信号。

对于条形图,我能够连接创建的barset

var barvalues = barserieschart.append("label",values)
barvalues.clicked.connect(barClicked)
...
ChartView {
        PieSeries {id: pieserieschart; onClicked: sliceClicked(slice) }
        BarSeries {id: barserieschart }
        ScatterSeries{id: scatterserieschart; onClicked: scatterclicked(point)}
}

相关内容

  • 没有找到相关文章

最新更新