我正在使用该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...
}
Run Code Online (Sandbox Code Playgroud)
我在Visual Studio 2013中使用Qt 5.5.
在这种特殊情况下,问题最终是Qt与客户端计算机上安装的Dell Backup and Recovery软件之间的不兼容,其中包括不兼容的Shell扩展。我使用的解决方案是删除备份和恢复软件,但听起来像命名Qt也是一种选择。有关更多信息,请参见QTBUG-41416。
我猜目录有问题。作为路径提供的空字符串可能有问题。尝试这样解决:
auto filename = QFileDialog::getSaveFileName(this,
tr("Generate Report"),
QString(),
tr("CSV files (*.csv)"));
// or this way
auto filename = QFileDialog::getSaveFileName(this,
tr("Generate Report"),
QDir::home().absolutePath(),
tr("CSV files (*.csv)"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2024 次 |
| 最近记录: |