我的应用程序显示一个长的科学垂直滚动图片(1024 x 99999999 ... px)作为 QPixmap
1024x128 block 的序列。这允许我通过从表中选择所需的 block 以最小的 CPU 成本滚动图片:block_id = y_coord/128
。此外,QPixmap
是用于快速屏幕输出的首选“像素容器”。
但是现在我有新的数据流进入应用程序,需要将新数据添加并显示在长图的底部。最小部分:1024x1
(一行)。另外,我想尽快显示每一行(接近实时)。 128 行的每个新部分都将“打包”到 QPixmap
,但在我收到足够的数据之前,我无法构建整个 block 。
我应该考虑用什么方法来显示新数据?
该视频给出了“添加新数据行”的想法,但在我的情况下流量上升:http://www.youtube.com/watch?v=Dy3zyQNK7jM
最佳答案
您可以简单、直接地修改 QPixmaps 的底行和 update()
窗口(如果底行在范围内)。
您可能会发现使用 QImage 对于半生不熟的行更有效,具体取决于您更新/重绘的速度。
关于c++ - Qt中的实时像素绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516664/