簡體   English   中英

如何在QML的Chartview的繪圖區域添加文本

[英]How to add text in plotting area of chartview in qml

如何在QML ChartView類型的繪圖區域內的特定(x,y)位置放置文本?

例如,我想將文本放置在XYPoint {x:-3; Y:20}我不想放在窗口的(x,y)上,我想放在繪圖區域的(x,y)上

我閱讀了文檔,但是找不到任何財產!

//繪制點的ChartView

ChartView{
    id:chrt
    anchors.fill: parent
    height: parent.height
    width: parent.width
    legend.visible: false
    backgroundColor: "black"


    //X- axis
    ValueAxis{
        id: x_axis
        min: -5
        max: 0
        tickCount: 6
    }

    //Right Y axis
    ValueAxis{
        id:right_y_axis
        min:0
        max:40
        tickCount: 5
    }

    //Left Y axis
    ValueAxis{
        id:left_y_axis
        min:0
        max:40
        tickCount: 5
    }

    //Line series for wave 1
    LineSeries{
        id:l1
        axisY: left_y_axis
        axisX:x_axis
        color: "yellow"
        width: 1
    }

    //Line series for wave 2
    LineSeries{
        id:l2
        axisYRight: right_y_axis
        style: Qt.DashLine
        color: "yellow"
        width: 0.6
    }
}

好的,您可以使用ChartView.mapToPosition來計算系列中指定點(或系列中的其他點)的全局位置,例如:

ChartView{
    id:chart
    anchors.fill: parent
    backgroundColor: "black"

    LineSeries{
        id: series
        XYPoint { x: 10; y: 5  }
        XYPoint { x: 10; y: 1 }
        XYPoint { x: 15; y: 5 }
        XYPoint { x: 20; y: 10 }
        XYPoint { x: 25; y: 5 }
        XYPoint { x: 30; y: 20 }
        XYPoint { x: 40; y: 10 }
    }

    Text {
        id: txt
        text: "Hello"
        color: "white"
    }

    onWidthChanged: updatePointPosition();
    onHeightChanged: updatePointPosition();

    function updatePointPosition()
    {
        var p = chart.mapToPosition(series.at(3), series);
        txt.x = p.x;
        txt.y = p.y;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM