3
我想到了如何从Qt5中获取桌面的屏幕截图,其中包含获取主屏幕的示例,并抓取并保存它。以Qt5为屏幕截图完整桌面
我正在翻译Python的代码而没有测试,所以如果有一个小的语法错误,那么你是知道的。所以我可以很容易地采用主屏幕截图:
QApplication a(argv, argc);
QScreen *screen = a.primaryScreen();
QPixmap screenshot = screen->grabWindow(0);
screenshot.save('screenshot.png', 'png');
这将(显然)采取主监视器的屏幕截图。问题是我需要截取所有显示器。所以,我想出了这个:
QList<QScreen*> screens = a.screens();
QScreen *screen;
QPixmap screenshot;
for(int i = 0; i < screens.length(); i++){
screen = screens.at(i);
screenshot = screen->grabWindow(0);
screenshot.save(QString::number(i) + ".png", 'png');
}
//takes and saves two screenshots on my end
这同时找到我的显示器,但保存的图像是主显示器的所有截图,我无法弄清楚如何获得他人。我已经玩了几个小时了,但仍然无法弄清楚。那么有人可以帮我吗?
看起来像一个Qt错误。如果您仍然可以在Qt 5.3上重现,请提交一份大报告。 –
[示例](http://doc.qt.io/qt-5/qtwidgets-desktop-screenshot-example.html)。 – handle