簡體   English   中英

QFileDialog不顯示后台打印文件夾

[英]QFileDialog not showing spool folder

我要求用戶使用QFileDialog選擇一個文件夾:

QString directory = QFileDialog::getExistingDirectory(this,"Caption","",
                    QFileDialog::ShowDirsOnly);

我希望用戶能夠選擇所有文件夾,但是QFileDialog找不到C:/ Windows / System32 / spool /,我懷疑可能還有其他文件夾。

我嘗試設置標志QFileDialog::HideNameFilterDetails以便查看隱藏的文件,但是這不能解決問題。

有解決這個問題的方法嗎?

C:/ Windows / System 32 / spool在QFileDialog中不存在

在此處輸入圖片說明

當您在64位Windows上運行32位應用程序時,這似乎是一個問題。 如果使用本機x64編譯器編譯應用程序,則應該能夠看到假脫機文件夾。 最壞的情況是,您可以編寫一個簡單的64位本機應用程序來顯示文件夾瀏覽器,並使32位應用程序運行並與64位應用程序通信以獲取結果。

我希望禁用WOW64文件系統重定向器就足夠了,但是並沒有幫助。 根據此答案 ,如果您使用Wow64DisableWow64FsRedirection在進程中的所有線程上禁用重定向,則可能會起作用,但是即使回答該問題的人也不建議使用此方法。

您不能使用該靜態功能查看所有文件夾。 QFileDialog正在幕后進行一些其他過濾,並且使用靜態函數getExistingDirectory無法以任何明顯的方式關閉此過濾。

您可以通過以下方式查看所有文件夾,包括隱藏的文件夾:

QFileDialog fd;
fd.setFilter(QDir::Hidden);
fd.setFileMode(QFileDialog::Directory);
fd.exec();
QString directory = fd.directory().path();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM