使用命名模板QT自动保存屏幕截图

时间:2017-06-05 08:56:05

标签: c++ qt save screenshot autosave

我希望每隔10秒以不同的名称保存多个屏幕截图

i want to save like this

  

这是我目前的代码

      QScreen *screen = QGuiApplication::primaryScreen();
      QPixmap pic  = screen->grabWindow(0);
      pic.save("C:/Users/Coding/Desktop/img/desktop_1.png");

2 个答案:

答案 0 :(得分:1)

您可以将QString格式化为您的文件名,并在末尾附加一个计数器,如下所示:

int counter = 1;
auto fileName = QString("C:/Users/Coding/Desktop/img/desktop_%1.png").arg(counter);
counter++;
pic.save(fileName);

答案 1 :(得分:0)

将此功能包装到一个类中。 向您的班级添加静态计数器(例如static long long counter {0};) 声明如下内容:QString m_path_to_image; 将您的代码更改为

pic.save(path_to_image.arg(m_counter));