c++ - Qt 文件对话框呈现不正确并崩溃

标签 c++ qt visual-c++

我正在使用 QFileDialog::getOpenFileName 函数来打开一个文件。但是,在运行 Windows 7 的客户端计算机上,这要么显示损坏的打开文件对话框(如屏幕截图所示),要么导致整个应用程序崩溃。

Corrupted Dialog

我用来打开文件对话框的代码是:

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。

最佳答案

此特定案例中的问题最终是 Qt 与安装在客户端计算机上的 Dell Backup and Recovery 软件之间的不兼容,其中包括不兼容的 shell 扩展。我使用的解决方案是删除备份和恢复软件,但听起来命名空间 Qt 也是一个替代方案。更多信息请参阅 QTBUG-41416 .

关于c++ - Qt 文件对话框呈现不正确并崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33007602/

相关文章:

c++ - 如何安全便携地输入和检查重音字符

c++ - 绘制大量三角形/高度图的更快方法(Direct 3D,C++)

qt - 如何清除 QPlainTextEdit 中的 ExtraSelections

c++ - CEF 在调用特定 DLL 中的函数时崩溃

c++ - 为什么不能用兼容类型的 std::tuple 按元素构造 std::tuple?

c++ - 如何传递与流末默认构造的istream_iterator不同的值?

qt - 从 qt Creator 中删除项目

c++ - 错误: 'QObject' 是 'SerialPort' QObject::connect(&uartObj, SIGNAL(readDone(QByteArray)), this, SLOT(hdlRxDone(QByteArray))) 的模糊基数;

c++ - 当std::random_device熵未知时,如何初始化std::mt19937? (VS C++/Windows)

c++ - g++ 在宏上提示 "does not give a valid preprocessing token"而 vc++ 编译正常