gpt4 book ai didi

c++ - 可变Qt Canvas 的最佳方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:14 25 4
gpt4 key购买 nike

在 Qt 中创建变化频率高的“ Canvas ”的最有效方法是什么?

目前我有一个主应用程序窗口 (QWidget),我在其中创建了一个 QPixmap 并将其设置为 QLabel:

QPixmap *canvas = new QPixmap(500, 500);
QLabel *area = new QLabel(this);
area->setPixmap(canvas);

问题是我必须在每次对像素图进行更改后调用 area->setPixmap(canvas); 才能显示它(我计算通常会有几个每秒变化)。这样可以吗?或者是否有更好/更快/更高效的解决方案?

最佳答案

PeterT 和 Jeremy 都有很好的解决方案。哪一个最好取决于您的需求。

如果您四处移动项目并更改它们,请使用 QGraphicsScene 来存储您想要显示的数据并轻松地对其进行操作。使用 QGraphicsView 显示结果。

如果您已经在别处将渲染作为 QPixmap 进行,并且只想绘制结果,子类化 QWidget 并在 paintEvent 中绘制它> 使用 QPainter 可能更简单。不过记得调用 update()!

关于c++ - 可变Qt Canvas 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38270459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com