Qt滚动一个大图像

时间:2012-01-09 11:47:46

标签: c++ qt audio graphics scroll

我需要实现一个具有特定信号处理功能的简单声音编辑器。 我希望将声音信息垂直显示为大图片 - 1024 x [大高]。 所以我正在寻找Qt实现类似于网页浏览器滚动的低CPU消耗垂直滚动的最佳方式。

3 个答案:

答案 0 :(得分:0)

您需要通过覆盖paintEvent()来创建自定义窗口小部件 请查看有关如何创建以下小部件的this self-explanatory example

enter image description here

答案 1 :(得分:0)

正常的QScrollArea会在99%的时间内为您提供所需的内容。但是你想要创建一个潜在巨大尺寸的位图,并且你想将它存储在RAM中 - 你将很快耗尽空间。

您可能需要一个系统,您需要将图像保存到文件中,并使用滚动区域的边界智能地从文件中加载它的内容(以及它周围的特定大小以使其平滑) - Qt不提供这个。这不是突破性的东西,所以网页搜索“滚动非常大的图像”或类似的东西应该会给出一个聪明的结果。

答案 2 :(得分:0)

如果您打算绘制STFT数据,那么您可以轻松采用QWT库中的一个小部件:

http://qwt.sourceforge.net/

无论如何,看看它,它是一个很好的灵感来源,代码可用......