假设从主窗口中打开一个子窗口,在子窗口另存图片,如下图所示。
代码一般是这样的。
QString dirPath = QFileDialog::getSaveFileName(NULL, QStringLiteral("ImageSaveAs"), ":/image/good.png", QString(tr("Images (*.png *.bmp *.jpg *.gif *.jpeg)")),
Q_NULLPTR, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
//如果选择的路径无效,则不保存
if (!dirPath.isEmpty())
{
QFileInfo fileInfo(dirPath);
if (fileInfo.exists())
QFile::remove(dirPath);
QFile::copy(":/image/good.png", dirPath);
}
这样虽然可以正常保存图片,但是存在一个奇怪的现象:直接点击主窗口的标题