QFileDialog Slow Network

QFileDialog Slow Network

本文关键字:Network Slow QFileDialog      更新时间:2023-10-16

我正在使用 QFileDialog getOpenFileNamegetSaveFileName。我在网络上有一个文件(慢速连接),我加载了getOpenFileName。然后,如果我尝试创建一个新的QFileDialog,则需要永远加载。

我使用流程监视器查看了该过程,我可以看到它在我上次打开文件的网络位置中的每个文件中慢慢爬行。它保持慢,直到我重新启动计算机。我该怎么做才能加快这一点?

这是一些代码:

打开文件对话框

QString filename;
QFileDialog fd(this);
filename = fd.getOpenFileName(this,tr("Open CSV File"), ".",tr("CSV Files (*.csv)"));

保存文件对话框

QString filename;
QFileDialog fd(this);
filename = fd.getSaveFileName(this,tr("Save CSV File"), ".",tr("CSV Files (*.csv)"));

谢谢。

不幸的是,如果您像这样使用本机对话框,那么您无能为力。getOpenFileName打开本机文件对话框,而本机平台代码列举了目标目录中的文件。

如果您不需要本机对话框,则可以做各种事情来围绕阻止/同步目录迭代界面进行工作,以从根本上异步I/O Resources。

尝试选项QFileDialog::DontUseNativeDialog。这应该禁止打开本机对话框。

我使用非本地对话框(通过Qfiledialog派生)多年来摆脱您描述的问题。