QFileDialog::getSaveFileName() returns 单击文件对话框中的保存后的空字符串
QFileDialog::getSaveFileName() returns an empty string after clicking on save in the file dialog
当我尝试使用 qfiledialog 在我的 GUI 中保存文件时遇到了这个问题。我不知道为什么,但是当我点击 save_button 小部件时,文件对话框打开,我输入文件名并点击保存,但是我的变量 saveFileName 在这个过程之后仍然是空的,所以我的程序总是停止那里。我没有点击取消!我真的点了保存,那么getSaveFileName() return 怎么会是一个空字符串呢?谢谢!!
void MainWindow::on_save_button_clicked()
{
QString jsonFilter = "JSON Files (*.json)";
QString saveFileName = QFileDialog::getSaveFileName(this, "Save file", QDir::homePath(), jsonFilter);
if(fileName.isEmpty())
{
qDebug() << "no save file";
}
else
{
QJsonDocument jsonSaveDoc;
QJsonObject jsonSaveObj; // else statement continues if fileName contains something
您检查的变量值不正确。也许这只是一个错字,但它应该是 saveFileName
而不是 fileName
。尝试这样的事情:
void MainWindow::on_save_button_clicked()
{
QString jsonFilter = "JSON Files (*.json)";
QString saveFileName = QFileDialog::getSaveFileName(this, "Save file", QDir::homePath(), jsonFilter);
if(saveFileName.isEmpty())
{
qDebug() << "no save file";
}
else
{
QJsonDocument jsonSaveDoc;
QJsonObject jsonSaveObj; // else statement continues if saveFileName contains something
}
}
当我尝试使用 qfiledialog 在我的 GUI 中保存文件时遇到了这个问题。我不知道为什么,但是当我点击 save_button 小部件时,文件对话框打开,我输入文件名并点击保存,但是我的变量 saveFileName 在这个过程之后仍然是空的,所以我的程序总是停止那里。我没有点击取消!我真的点了保存,那么getSaveFileName() return 怎么会是一个空字符串呢?谢谢!!
void MainWindow::on_save_button_clicked()
{
QString jsonFilter = "JSON Files (*.json)";
QString saveFileName = QFileDialog::getSaveFileName(this, "Save file", QDir::homePath(), jsonFilter);
if(fileName.isEmpty())
{
qDebug() << "no save file";
}
else
{
QJsonDocument jsonSaveDoc;
QJsonObject jsonSaveObj; // else statement continues if fileName contains something
您检查的变量值不正确。也许这只是一个错字,但它应该是 saveFileName
而不是 fileName
。尝试这样的事情:
void MainWindow::on_save_button_clicked()
{
QString jsonFilter = "JSON Files (*.json)";
QString saveFileName = QFileDialog::getSaveFileName(this, "Save file", QDir::homePath(), jsonFilter);
if(saveFileName.isEmpty())
{
qDebug() << "no save file";
}
else
{
QJsonDocument jsonSaveDoc;
QJsonObject jsonSaveObj; // else statement continues if saveFileName contains something
}
}