2016-12-16 2 views
1

Я хочу, чтобы увеличить выбранный с rectang области в ChartView:Как работает ChartView :: ZoomIn (Прямоугольник Прямоугольник)

import QtQuick 2.7 
import QtCharts 2.1 

ChartView{ 
    id: chart 
    width: 400 
    height: 400 

    ScatterSeries{ 
     markerSize: 10 
     XYPoint{x: 1; y: 1} 
     XYPoint{x: 2; y: 2} 
     XYPoint{x: 5; y: 5} 
    } 

    Rectangle{ 
     id: rectang 
     color: "black" 
     opacity: 0.6 
     visible: false 
    } 

    MouseArea{ 
     anchors.fill: parent 
     hoverEnabled: true 
     acceptedButtons: Qt.AllButtons 

     onPressed: {rectang.x = mouseX; rectang.y = mouseY; rectangle.visible = true} 
     onMouseXChanged: {rectang.width = mouseX - rectang.x} 
     onMouseYChanged: {rectang.height = mouseY - rectang.y} 
     onReleased: { 
      chart.zoomIn(rectang); // something wrong with that line, it doesn't work 
      rectang.visible = false 
     } 
    } 
} 

Можете ли вы сказать, как использовать ChartView::zoomIn(rect rectangle) правильно? Я хочу, чтобы зум работал, как в Zoom Line Example. Простой ChartView::zoomIn() просто увеличить центр по фактору 2.

ответ

2

Это helpped:

onReleased: { 
     chart.zoomIn(Qt.rect(rectang.x, rectang.y, rectang.width, rectang.height)) 
     rectang.visible = false 
} 

Я ошибочно полагал, что rect и Rectangle одни и те же типы.

Смежные вопросы