0

ウィジェットのスクリーンショットを Qt に保存したいと考えています。動作するはずの次のコードを作成しました。

  QWidget* activeWidget = getActiveWidget();//a function that returns the current widget.
  if (activeWidget == NULL)
  {
    return;
  }
  QPixmap screenshot;
  screenshot = QPixmap::grabWidget(activeWidget,activeWidget->rect());
  if(screenshot.isNull()){
    printf("ERROR");
  }
 bool a= screenshot.save("c:\\temp\\asd.jpg", "JPG", 50);

しかし、残念ながらこれはうまくいかないようです。誰が問題が何であるか知っていますか?

4

1 に答える 1

1

この回答このフォーラムの投稿では、人々は次のことを提案しています。

ほとんどの場合、.jpg ファイルの処理に必要なプラグインがアプリケーションで検出されません。この問題を解決するには、次のいずれかを実行します。

  • 静的ビルドを行っている場合はQTPLUGIN += qjpeg、.pro ファイルに追加するか、
  • 動的ビルドを行っている場合は、imageformatsフォルダを%QTDIR%\plugins.exe の隣に置きます
于 2012-08-13T09:17:59.430 に答える