问题描述
我有一个图表视图,它有一些随机值并且运行良好。
import QtQuick 2.9
import QtQuick.Window 2.2
import QtCharts 2.0
Item {
visible: true
width: 640
height: 480
ChartView {
id: chartView
anchors.fill: parent
theme: ChartView.ChartThemeBrownSand
antialiasing: true
LineSeries {
id: liness
name: "LineSeries"
XYPoint {
x: 0
y: 0
}
XYPoint {
x: 1.1
y: 2.1
}
XYPoint {
x: 1.9
y: 3.3
}
XYPoint {
x: 2.1
y: 2.1
}
XYPoint {
x: 2.9
y: 4.9
}
XYPoint {
x: 3.4
y: 3.0
}
XYPoint {
x: 4.1
y: 3.3
}
}
LineSeries {
name: "xPositioner"
id: xPositionerX
style: Qt.DashLine
XYPoint {
x: 0
y: 2
}
XYPoint {
x: 4.1
y: 2
}
}
LineSeries {
name: "LineSeries"
id: positionery
style: Qt.DashLine
XYPoint {
x: 2
y: 0
}
XYPoint {
x: 2
y: 4.9
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.CrossCursor
onDoubleClicked: chartView.zoomReset()
hoverEnabled: true
onPositionChanged: {
var p = Qt.point(mouse.x,mouse.y)
var cp = chartView.mapToValue(p,liness)
xPositionerX.replace(xPositionerX.at(1).x,xPositionerX.at(1).y,xPositionerX.at(1).x,cp.y)
xPositionerX.replace(xPositionerX.at(0).x,xPositionerX.at(0).y,xPositionerX.at(0).x,cp.y)
positionery.replace(positionery.at(1).x,positionery.at(1).y,cp.x,positionery.at(1).y)
positionery.replace(positionery.at(0).x,positionery.at(0).y,positionery.at(0).y)
xMagView.x = mouseX - xMagView.width / 2
xMagText.text = cp.x
yMagView.y = mouseY - yMagView.height / 2
yMagText.text = cp.y
console.debug(mouseX,mouseY,cp.y)
}
}
Rectangle {
id: xMagView
width: 50
clip: true
height: 20
color: "#592e2e2e"
y: chartView.plotArea.y + chartView.plotArea.height
x: chartView.plotArea.x
Text {
clip: true
id: xMagText
anchors.fill: parent
wrapMode: Text.WrapAnywhere
horizontalAlignment: Text.AlignHCenter
}
}
Rectangle {
id: yMagView
width: 50
clip: true
height: 20
color: "#592e2e2e"
y: chartView.plotArea.y
x: chartView.plotArea.x - 50
Text {
clip: true
id: yMagText
anchors.fill: parent
wrapMode: Text.WrapAnywhere
horizontalAlignment: Text.AlignHCenter
}
}
}
}
在这个图表视图中,我通过一个简单的文本显示了映射到轴上的值的鼠标位置。但它似乎有一点不精确的值,如图所示:
mouseX 和 mouseY 位置与轴不完全匹配! : look at this picture please
mapToValue 有问题吗?
感谢您的任何意见和帮助。
编辑: 我稍微更改了代码以显示确切的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)