我正在使用QFileDialog :: getOpenFileName函数来获取要打开的文件.但是,在运行
Windows 7的客户端计算机上,这将显示损坏的打开文件对话框,如屏幕截图所示,或者崩溃整个应用程序.
void MainWindow::on_action_triggered() { auto filename = QFileDialog::getSaveFileName(this,"Generate Report","","CSV files (*.csv)"); if (filename.isEmpty()) { return; } // Do operations on filename... }
我在Visual Studio 2013中使用Qt 5.5.
解决方法
我猜测目录存在问题.作为路径提供的空字符串可能有问题.
尝试这样修复:
尝试这样修复:
auto filename = QFileDialog::getSaveFileName(this,tr("Generate Report"),QString(),tr("CSV files (*.csv)")); // or this way auto filename = QFileDialog::getSaveFileName(this,QDir::home().absolutePath(),tr("CSV files (*.csv)"));