[英]QFileDialog Slow Network
我正在使用QFileDialog
getOpenFileName
和getSaveFileName
。 我在網絡上有一個文件(連接速度慢),我用getOpenFileName
加載。 然后,如果我嘗試創建一個新的QFileDialog
,它需要永遠加載。
我用Process Monitor查看了這個過程,我可以看到它慢慢地遍歷我上次打開文件的網絡位置中的每個文件。 在我重新啟動計算機之前,它仍然很慢。 我該怎么做才能加快速度呢?
這是一些代碼:
打開文件對話框
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資源。
嘗試選擇QFileDialog::DontUseNativeDialog
。 這應該禁止打開本機對話框。
我使用非原生對話框(通過從QFileDialog派生)多年來擺脫你描述的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.