问题标签 [qtcharts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt:无法解决错误:多重定义
所以我用谷歌搜索了这个问题并搜索了这个网站,但我发现的一切都不起作用。下面是头文件中比较麻烦的几行:
这是头文件:
这是ccp文件:
我尝试在每个声明之前添加 extern,但找不到我缺少“;”的地方 在一行的末尾。任何帮助都会很棒。我正在使用全新安装的 Ubuntu 和 Qt Creator。这个项目是从我之前的安装中导入的。
希望这是足够的信息。关于这个错误的许多其他问题都缺乏信息,所以我希望这个问题也能解决这个问题。
以下是错误代码:
/home/bandito/programming/build-etf-ipo-new-Unnamed-Debug/chartview.o:-1: 在函数
QList<QtCharts::QAbstractSeries*>::node_destruct(QList<QtCharts::QAbstractSeries*>::Node*, QList<QtCharts::QAbstractSeries*>::Node*)': /home/bandito/programming/etf-ipo-new/chartview.cpp:5: error: multiple definition of
ChartView::ChartView(QtCharts::QChart*, QWidget*)' /home/bandito/programming/ etf-ipo-new/chartview.cpp:5: 首先在这里定义/home/bandito/programming/build-etf-ipo-new-Unnamed-Debug/chartview.o:-1: 在函数QList<QtCharts::QAbstractSeries*>::node_destruct(QList<QtCharts::QAbstractSeries*>::Node*, QList<QtCharts::QAbstractSeries*>::Node*)': /home/bandito/programming/etf-ipo-new/chartview.cpp:5: error: multiple definition of
ChartView::ChartView(QtCharts: :QChart*, QWidget*)' /home/bandito/programming/etf-ipo-new/chartview.cpp:5: 这里首先定义/home/bandito/programming/build-etf-ipo-new-Unnamed-Debug/chartview .o:-1: 在函数ChartView::doneDrawing(bool)': /home/bandito/programming/etf-ipo-new/chartview.cpp:24: error: multiple definition of
ChartView::doneDrawing(bool)' /home/bandito/programming/etf-ipo-new/chartview.cpp:24: 首先定义在这里 /home/bandito/programming/build-etf-ipo -new-Unnamed-Debug/chartview.o:-1:在函数中ChartView::mouseMoveEvent(QMouseEvent*)': /home/bandito/programming/etf-ipo-new/chartview.cpp:28: error: multiple definition of
ChartView::mouseMoveEvent(QMouseEvent*)' /home/bandito/programming/etf-ipo-new/chartview.cpp:28: 首先在这里定义:-1: error: collect2: error: ld returned 1 exit status
c++ - qt将鼠标位置转换为图表坐标系
我想在显示QBarSeries 的 QChart 上显示标注。我正在努力将鼠标的位置转换为 qchart 坐标系,以便可以在标注中将其用作锚点。我想在我的
事件。
qt - 在 QChartView 上实现选择
我想基于QChart和QChartView实现图表选择。类家族有一个很大的优势——易于使用 openGL和动画,例如:
QChartView类提供有用的缩放功能 - QChartView ::setRubberBand():
主要问题是橡皮筋只能用于缩放,但我需要在没有缩放的情况下实现水平选择,因为该功能通常在音频编辑器中实现:
现在,当我继承 QChartView 时,我可以在选择后禁用缩放:
然后我就不能在鼠标键释放事件上实现缩放动作:
所以,我现在的问题:
视觉橡皮筋的边界如何映射到真实图表的坐标。即,如何将选择映射到图表上的线系列?现在我收到相同的错误坐标:
/li>
输出:
- 现有的橡胶选择如何与视图一起按比例调整大小?
编辑:可能是一个有用的关键字 - QGraphicsScene::setSelectionArea()。
Qt 5 芯片示例提供了不错的橡皮筋选择,但该示例基于QGraphicsView,而不是基于 QChartView。
python - QCategoryAxis 次要刻度线不可见
在 PyQt5 中,我试图启用 QcategoryAxis 的次要刻度线。使用 setMinorGridLineVisible 和 setMinorTickCount 方法似乎不起作用,就像使用简单的 QValueAxis 一样。这是一个错误,还是我错过了什么?使用下面的代码片段,类别标签和主要刻度看起来很好,但缺少次要刻度线。
c++ - 使用鼠标滚轮缩放 QChartView 的 x 轴
在我的应用程序中,我QChart
用来显示折线图。不幸的是,Qt Charts 不支持使用鼠标滚轮进行缩放和鼠标滚动等基本功能。是的,有 RubberBand 功能,但仍然不支持滚动等对用户来说不太直观的端。此外,我只需要缩放 x 轴,某种setRubberBand(QChartView::HorizontalRubberBand)
但使用鼠标滚轮。到目前为止,在深入研究后,QChartView
我使用了以下解决方法:
这可行,但放大然后缩小不会导致相同的结果。有一个小的偏差。调试后我发现chart()->plotArea()
总是返回相同的矩形,所以这个解决方法是没用的。
有什么方法可以只得到一个可见区域的矩形吗?或者可能有人可以指出正确的解决方案如何通过鼠标为 QChartView 进行缩放/滚动?
c++ - 将 qcharts 模块安装到 yocto sdk
我尝试为yocto 平台交叉编译qt 图表示例。我执行以下步骤来编译我的 qt 程序:
- 源 /opt/myimage/2.1.2/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
- qmake -o Makefile areachart.pro
- 制作
但是当我添加QT += charts
到任何项目运行 qmake时,qmake -o Makefile areachart.pro
我遇到了这个错误:
Project ERROR: Unknown module(s) in QT: charts
这是输出qmake -v
:
我应该添加qtcharts
模块我的yocto SDK以便能够编译示例吗?如果是的话怎么办?
由于某些原因,我能够从源代码交叉编译Qtqtcreator
并获取 qt 示例和 qtchart 库本身的二进制文件。我还在目标平台上运行 qt 示例,方法是将结果libQtCharts.so
文件和其他文件手动放入目标中/usr/lib/
和/usr/include/
目标上,并且能够在目标上绘制图表。
但是,我需要在我的项目中包含图表并运行qmake
上述步骤。但我得到的是Project ERROR: Unknown module(s) in QT: charts
我试图把libQtCharts.so
我从手动编译 qt 源代码中得到的,/opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib
但仍然无法获得 make 文件qmake -o Makefile areachart.pro
qt - 在 qml 中的 qtcharts 上拖动一个点
我正在尝试在 qtcharts 上的 LineSeries 上拖动一个点。这是我的代码:
当我在 Lineserie 上按下一个点时,我可以看到我在控制台中按下和释放的点的 x,y。不过两者都是一样的,所以我看不到它发布的地方。我想将一个点拖到另一个地方,所以如果我按下一个点,它会跟随(触摸屏上的鼠标/手指)指针,直到我在图表上释放。任何人都可以帮助我从哪里开始以及我应该使用哪些属性?
qt - 如何在chartview上禁用x轴上的点拖动
我有一个 qtchart,其线条在图表上带有 5 个点。我可以在axisX和axisY的最小值和最大值内的x和y轴上拖动这些点。如何禁用 x 轴上的点拖动?因此可以在图表上垂直拖动点。这是我的代码:
到目前为止,在这种情况下,我可以通过更改onPositionChanged
为以下代码来禁用 x 轴上的一个点的拖动,但有两个问题,首先这只是一个点,其次,它不会完全禁用拖动,而是该点可以是在 2 到 4 之间的 x 轴上拖动,但不能将其拖动到此范围之外。
c++ - Qt 如何连接 RubberBandChanged 信号
我尝试将来自 QChartView 类的 RubberBandChanged 信号链接到 MainWindow 类中的特定函数。
主窗口.h
主窗口.cpp
当我在图表中使用 RubberBand 时,我从不输入 RubberZoomAdapt()。
有什么想法可以解决这个问题吗?
谢谢。