C++ Qt绘图
我需要在我的应用程序中实现一些类似或的情节, 它甚至可以是类似的东西 我在Qt网站上进行了搜索,没有任何进展,我看到了Qwt包,但没有类似的内容C++ Qt绘图,c++,qt,user-interface,plot,C++,Qt,User Interface,Plot,我需要在我的应用程序中实现一些类似或的情节, 它甚至可以是类似的东西 我在Qt网站上进行了搜索,没有任何进展,我看到了Qwt包,但没有类似的内容 有什么想法吗?Qt不支持开箱即用的绘图 最基本的解决方案是使用。只需使用各种项目渲染绘图 除此之外,你可以跟随。它包含一些指向绘图框架的指针,但我不知道它们有多有用,也不知道它们在Qt4.x中是否仍然受支持。为此,我使用了Qwt。诀窍是使用一个步长函数(参见本文最后一个示例),将数据移动0.5,使条形图居中于刻度。下面是一个启用alpha混合和抗锯齿的
有什么想法吗?Qt不支持开箱即用的绘图 最基本的解决方案是使用。只需使用各种项目渲染绘图
除此之外,你可以跟随。它包含一些指向绘图框架的指针,但我不知道它们有多有用,也不知道它们在Qt4.x中是否仍然受支持。为此,我使用了
Qwt
。诀窍是使用一个步长函数(参见本文最后一个示例),将数据移动0.5,使条形图居中于刻度。下面是一个启用alpha混合和抗锯齿的示例:。
希望你能做得更好;-) 我强烈推荐
Qwt是一个成熟的、有良好文档记录的库,可以说,它是在Qt中实现绘图和其他显示和控制小部件的标准解决方案
如果你需要3D绘图,尝试.< /P> < P>作为Qwt的替代物,你也可以考虑哪一个是一个更简单的选项。< /P> < P>我爱QCustomPlot,这是Qt C++库。它专注于制作美观、出版物质量高的2D绘图、图形和图表,并具有实时可视化应用程序的高性能。您可以在这里找到它:
QCustomPlot
非常容易入门,您可以使用很多笛卡尔绘图类型。话虽如此,如果您打算同时绘制大型时间序列,从性能角度来看,它不如其他人所说的那么好。它在内部使用QMap
来存储数据,这意味着对于填充时插入或移除的每个数据点,将有一个内存分配/释放来将数据点添加到映射。有关更多信息,请参阅
我不喜欢的另一件事是,即使对于简单的绘图,它也在内部使用一个struct
QCPData
,当您通常需要两个值(x
和y
)时,它会存储6个双值。也就是说,它将显示时间序列所需的内存量增加了三倍。Qt 5.6现在Qt Charts 2.1,它支持条形图(以及其他7种类型)。怎么样?现在似乎是更好的选择。QCustomPlot允许GPL或商业模式。Qwt使用LGPL许可证。这是你必须根据你正在做的项目来考虑的问题。它在开源发布中是可用的吗?我似乎不能使用图表
模块。@VioletGiraffe-它是可用的,但不包括在5.6的开源发行版中。(“开源用户可以从源代码构建模块。”)有关使用开源构建模块的帮助,请参阅此线程:下面是一个使用源代码在QGraphicsView中轻松绘制点的示例(11行代码)。一开始它看起来不像是开箱即用,但这只是因为图形视图框架比标准画师强大得多。