なぜファイルを保存しないのですか?あなたが探しているファイルが実行可能ファイルの同じフォルダにある必要がありQt5 - スクリーンショットを作成してファイルに保存するのはなぜですか?
#include "mainwindow.h"
#include <QApplication>
#include <QPixmap>
#include <QPainter>
#include <QList>
#include <QScreen>
QPixmap grabScreens() {
auto screens = QGuiApplication::screens();
QList<QPixmap> scrs;
int w = 0, h = 0, p = 0;
foreach (auto scr, screens) {
QPixmap pix = scr->grabWindow(0);
w += pix.width();
if (h < pix.height()) h = pix.height();
scrs << pix;
}
QPixmap final(w, h);
QPainter painter(&final);
final.fill(Qt::black);
foreach (auto scr, scrs) {
painter.drawPixmap(QPoint(p, 0), scr);
p += scr.width();
}
return final;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPixmap pixmap = grabScreens();
QFile file("file.jpg");
file.open(QIODevice::WriteOnly);
pixmap.save(&file, "JPG", 1);
MainWindow w;
w.show();
return a.exec();
}
コードの問題と作業ディレクトリ構成の問題を区別するために、絶対出力パスをハードコードしてみてください。 – Drop
C:\には管理者権限が必要です。ホームディレクトリ内のパスを試してみてください。デスクトップ – Drop
C:\\ – YumYumYum