-1

我想将我的应用程序的屏幕截图保存到桌面。问题是,它可以保存,但如果我再拍一张截图,它会替换旧图像。我如何告诉 Qt 将其命名为 Wishlist 1、Wishlist 2 等?

QString filepath = QDir::toNativeSeparators( QDir::homePath() + "/Desktop/Wishlist.png"  );
    if( grab().save( filepath, "png" ) )
        statusBar()->showMessage( tr("Saved file to Desktop.") );
    else
        statusBar()->showMessage( tr("Error saving file.") );

在我关闭并再次启动程序后,它应该能够继续。例如Wishlist 1Wishlist 2然后重新启动,然后它应该命名下一个屏幕截图Wishlist 3

4

1 回答 1

2

创建一个解析文件名的函数。以下代码段不安全(如果没有 get 太大怎么办)并且对于 no == 0 你需要一个特殊情况。

int no = 0;
while( true ){
    QString path = filename + "." + QString::number( no ) + "." + extention;
    QFileInfo fileInfo( path );
    if( !fileInfo.exists() )
        return path;
    no++
}
于 2013-11-11T15:50:31.540 回答