2013-10-01 60 views
2

我使用QFileDialog作爲QFileDialog:如何設置選項,以顯示在getExistingDirectory文件夾中的內容()

filename = QFileDialog::getExistingDirectory(this,"Select Image File: ",dataDir,0); 

我想,我可以選擇它之前檢查文件夾內的文件。功能getExistingDirectory()QFileDialog::ShowDirsOnly設置爲默認選項。我檢查了文檔,沒有任何與此相反的選項。所以我設置了最後一個參數0.但現在它不使用本機對話框。我想用這個本地對話框。我不知道如何做到這一點,導致在UseNativeDialog的選項中找不到標誌。請幫忙。

+0

在文檔中它說:「爲了確保本機文件對話框,必須設置ShowDirsOnly。」 – drescherjm

+0

意味着它是不可能的:(我應該刪除問題? – Tab

+0

我相信可能有辦法解決至少在某些操作系統上的這種限制可能通過繼承QFileDialog,所以我會保留這個問題。 – drescherjm

回答

1

嘗試在自己創建的文件對話框,像:

QFileDialog dialog(this); 
dialog.setFileMode(QFileDialog::Directory); 
dialog.setViewMode(QFileDialog::Detail); 
dialog.setDirectory(datadir); 
dialog.exec(); 
+0

它不顯示本地對話框。 – Tab

1

塞巴斯蒂安的代碼應該創建一個本地對話框,除非你犯了一個線,如:

dialog.setOption(QFileDialog::DontUseNativeDialog, true); 

然而,我一直無法在Windows下工作,即使文檔中提到QFileDialog::Directory選項應該默認顯示文件。不僅如此,而且還在做:

qDebug() << dir_selector.testOption(QFileDialog::ShowDirsOnly); 

在我的系統上顯示false,表明可能存在某處的錯誤。

相關問題