首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QFileDialog慢速网络

QFileDialog慢速网络
EN

Stack Overflow用户
提问于 2016-06-20 18:37:55
回答 2查看 952关注 0票数 1

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

我用process查看了这个过程,我可以看到它缓慢地在我上次打开文件的网络位置上的每个文件中爬行。在我重新启动计算机之前,它一直很慢。我能做些什么来加速这件事?

以下是一些代码:

打开文件对话框

代码语言:javascript
复制
QString filename;
QFileDialog fd(this);
filename = fd.getOpenFileName(this,tr("Open CSV File"), ".",tr("CSV Files (*.csv)"));

保存文件对话框

代码语言:javascript
复制
QString filename;
QFileDialog fd(this);
filename = fd.getSaveFileName(this,tr("Save CSV File"), ".",tr("CSV Files (*.csv)"));

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-06-20 19:00:15

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

如果您不需要本机对话框,您可以做各种工作来绕过阻塞/同步目录迭代接口,从而从根本上实现异步I/O资源。

票数 2
EN

Stack Overflow用户

发布于 2016-06-20 21:11:33

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

多年来,我一直在使用非本地对话框(通过从QFileDialog派生)来解决您描述的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37929549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档