- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我必须构建一个 qml 折线图。我必须构建要在 C++ 中显示的系列,因为我有很多数据要插入。我调用了我的系列 QLineSeries * TaProbe
,我需要将它传递给 QML。我该怎么做?在我的 QML 代码下方,我要加载 TaProbe 系列的位置
ChartView {
id: chart
anchors.fill: parent
ValueAxis{
id: xAxis
min: 1.0
max: 10.0
},
ValueAxis{
id: yAxis
min: 0.0
max: 10.0
}
}
在上面的代码中,我可以在哪里加载我的 C++ lineserie?
有人可以帮助我吗?
非常感谢。
最佳答案
所以你想要的基本上是这样的:
ChartView {
title: "Line"
anchors.fill: parent
antialiasing: true
LineSeries {
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 }
}
}
但是 XYPoint 来自您的 Cpp,所以您需要从您的 C++ 创建它?
我对 QML 的 Shape 类做了类似的事情。
在 C++ 中:
ShapeEditor::ShapeEditor() {
_shapeInit = ""
"import QtQuick 2.5; \n"
"import QtQuick.Shapes 1.11; \n"
"Shape { \n"
" property string name: \"\" \n"
" id: prlShape; \n"
" opacity: 0.8; \n"
" containsMode: Shape.FillContains; \n"
" function changeColor(newColor) { \n"
" shapePrlPath.fillColor = newColor; \n"
" shapePrlPath.strokeColor = newColor; \n"
" } \n"
" function changeOpacity(opac) { \n"
" prlShape.opacity = opac; \n"
" } \n"
" function destroyArea() { \n"
" destroy(); \n"
" } \n"
" ShapePath { \n"
" joinStyle: ShapePath.RoundJoin; \n"
" strokeColor: \"yellow\"; \n"
" fillColor: \"yellow\"; \n"
" id: shapePrlPath; \n"
" ";
_shapeEnd = " }}";
}
void ShapeEditor::createShapeItemFromPoint()
{
QVector<QPoint> reorderedList = _pointList;
_shapeForm = " startX:" + QVariant(reorderedList[0].x()).toString() + " ; startY: " + QVariant(reorderedList[0].y()).toString() + " \n";
for (int i = 1 ; i < reorderedList.size() ; i++) {
_shapeForm += " PathLine { id: line" + QVariant(i).toString() + "; x: " + QVariant(reorderedList[i].x()).toString() + " ; y: " + QVariant(reorderedList[i].y()).toString() + "} \n";
}
_shapeForm += " PathLine { id: line" + QVariant(reorderedList.size() + 1).toString() + "; x: " + QVariant(reorderedList[0].x()).toString() + " ; y: " + QVariant(reorderedList[0].y()).toString() + "} \n";
QObject* obj = _frontRoot->findChild<QObject*>("shapeEditor");
QMetaObject::invokeMethod(obj, "createShape", Q_ARG(QVariant, QVariant::fromValue(_shapeInit + _shapeForm + _shapeEnd)))
}
qml:
Item {
id: shapeEditor
objectName: "shapeEditor"
function createShape(str) {
var item = Qt.createQmlObject(str, prlEditor, "shape");
}
}
您可以做的是动态创建您的 QML 动态对象。因此,在 C++ 中创建一个 QString,然后通过 invokeMethod 将其发送到 javascript 函数。
您可以按照本教程进行操作:Dynamic QML Object Creation from JavaScript .
关于c++ - 将 C++ LineSeries 传递给 QML 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54459713/
我试图在鼠标悬停时获取对动态创建的 LineSeries 的引用。创建 LinesSeries 后,我将信号处理程序附加到悬停事件。 问题是:从下面的简化示例中,当我将鼠标悬停在 LineSeries
默认的 LineSeries 实现按独立值对数据点进行排序。对于这样的数据,这给了我奇怪的结果: 是否可以绘制一个线系列,其中按原始顺序在点之间绘制线? 最佳答案 我目前通过继承 LineSeries
我正在使用 silverlight 工具包 lineseries 控件并想摆脱标题,但我找不到通过 Expression Blend 或 VS 的方法。我曾尝试更改育儿图表的 TitleStyle 和
我的目标是拥有一个 QML ChartView,并在运行时添加可变数量的 LineSeries。在用户选择并加载包含数据的文件之前,尚不清楚需要添加多少 LineSeries。 我尝试在 Repeat
我正在尝试将一个点的值打印到绘图上,但提供的文档不完整或令人困惑。我知道 TrackerFormatString 值可以做类似的事情,但我希望文本始终位于随不同值动态变化的图上。有什么我可能忽略了或者
我正在制作一个包含一些 OxyPlot 图表的应用程序。 我想制作一个在 LineSeries 图表上有一条垂直线的图表,如下链接: http://theclosetentrepreneur.com/
我正在开发一个仪表板系统,我在其中使用 WinForms 中的折线图。我需要在每一行显示工具提示。我试过这个 var series = new Series {
是否可以为(XY 轴)值之间的范围使用不同的标记样式?例如。标记样式在这里显示为钢蓝色,我可以让标记高于 15 和低于 13 以显示另一种颜色吗? 显示: 最佳答案 Oxyplot 有一个TwoCol
我最近开始使用 QML,我正在寻找一种方法来将数据从 C++ 提供到 QML 中的 ChartView。我更喜欢一个解决方案,我可以发送一个带有 Q_PROPERTY 之类的 QMap,以便它自动更新
我很难让 OxyPlot 在我的独立 WPF 应用程序中显示我的数据(我使用 Caliburn Micro,并遵循 MVVM 模式)。 所以在我的 Xaml 中我有以下内容: 以后 在我的 Vie
这是我的 QML 代码。 Item { id: root width: 1200 height: 800 ChartView { id: chartVi
我很抱歉问了这么多 OxyPlot 问题,但我似乎真的很难使用 OxyPlot 图表控件。 我的项目是 WPF 格式的,所以我最初使用的是一个托管的 WINFORMS 图表,它工作起来非常棒,并且完成
我使用 Silverlight 4 工具包(4 月版)创建了一个 Silverlight 图表。 考虑以下图表: 到现在为止还挺好。我可以通过 MySuperChart.S
我在图表中有多个线系列。首先绘制图表线条,然后点跟随线条。这很烦人,大点的大小使大型数据集毫无用处。 目前我正在为每个系列做这个......
我正在尝试有条件地格式化出现在 LineSeries(来自 Silverlight 4 工具包)的 NumericAxis 轴中的数字。更具体地说,我希望 >=10000 和
我是 Qt/QML 的新手,我需要在 QML 中绘制图表,其 X 轴上的格式时间(例如:00:05(格式为 hh:mm))。在 Qt 文档中我找到了一个示例: ChartView {
我有一个“行”值,其中可能缺少某些信息。 例如。: Jan - 10, Feb - 20, Mar - 15, Apr - null, Jun - 45 ... etc 我希望在图表中,NULL 值将
我正在使用 WPF 工具包绘制折线图(我们应用程序的一项功能)。给定一个集合,我能够绘制图表,但是,当用户双击图表上的数据点时,我发现很难获得 X 和 Y 数据值(不是折线图中的坐标值). 我可以使用
我正在按如下方式向图表动态添加线条系列。 foreach (KeyValuePair>> tempSeries in yieldSeries) { LineSeries lineSeries = ne
是否可以将绘图绑定(bind)到 LineSeries 的集合而不是 OxyPlot 中的单个 LineSeries? (而不是通过模型)。 我正在寻找这样的东西:
我是一名优秀的程序员,十分优秀!