gpt4 book ai didi

c++ - 如何获取硬件覆盖的小部件的 QPixmap?

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:29 26 4
gpt4 key购买 nike

我正在尝试获取一个小部件的 QPixmap,但是该小部件被硬件覆盖了。它曾经有效,直到我更换显卡。有问题的代码是:

...
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
ui->viewFinder->grab().save(&buffer, "JPG");
...

取景器小部件是一个 QCameraViewfinder。 Archlinux 上的 Qt4 小部件应用程序。有没有办法禁用特定小部件上的覆盖,或者有什么方法可以捕获它?尝试使用 ksnapshot 捕获它。

最佳答案

显然,我不得不提出一个问题来解决问题。

QPixmap::grabWindow 抓取小部件,即使它是硬件覆盖的。我从 ksnapshot 源代码中挖掘出了这些信息。

因此示例代码将是:

QPixmap::grabWindow(ui->viewFinder->winId(), 0, 0, -1, -1).save(&buffer, "JPG");

关于c++ - 如何获取硬件覆盖的小部件的 QPixmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24620227/

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