保存小部件的屏幕截图

时间:2012-08-13 07:57:38

标签: qt qwidget

我想在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);

但不幸的是,这似乎不起作用。 有谁知道问题是什么?

1 个答案:

答案 0 :(得分:1)

this answerthis forum post中,人们会提出以下建议:

最有可能的是,您的应用程序找不到处理.jpg文件所需的插件。要解决此问题,请执行以下操作之一:

  • 如果您正在进行静态构建,请将QTPLUGIN += qjpeg添加到.pro文件或
  • 如果您正在进行动态构建,请将imageformats文件夹从%QTDIR%\plugins放在.exe
  • 旁边
相关问题