2015-05-08 6 views
1

Я использую следующий код, чтобы показать открытый диалог в Qt:QFileDialog показ скрытых файлов, хотя установка системы выключена

QString path = QFileDialog::getOpenFileName(this, tr("Open Config File"), QDir::rootPath(), "Text Files (*.txt *.csv *.*);;"); 

То, что я понял, что этот диалог также показывает скрытые файлы хотя настройки системы для показа скрытые файлы отключены. Это то же самое, если я создаю экземпляр QFileDialog вручную и покажу его. Я также не мог узнать, как отключить это через фильтр.

Кто-нибудь знает, есть ли способ добиться желаемого поведения?

+0

Какая у вас ОС? – vahancho

+0

Моя ОС - Windows 8. – user1488118

+0

Я только что попробовал это на ubuntu, и здесь это выглядит наоборот: в нем никогда не отображаются скрытые файлы. Но я не знаю, есть ли что-то вроде системной настройки для Linux. – user1488118

ответ

1

Похоже, что нет простого (путем установки некоторого флага) решения там. Поэтому я рекомендую использовать фильтрацию, которая описана в других SO answer. Но в вашем случае вы можете использовать следующее условие:

if(fileModel != nullptr) 
{ 
    QFileInfo info = fileModel->fileInfo(index0); 
    return info.isHidden(); 
} 
return false; 
+0

Хм ... хорошо. Я думаю, что если это действительно Qt-проблема, я собираюсь позволить этому пока. Если бы я использовал ваше решение, мне все равно пришлось бы выяснить, что такое система, а затем действовать соответствующим образом. Возможно, они фиксируют это в следующих выпусках. Это не такая уж большая проблема, просто очень раздражающая для пользователя. – user1488118

+0

Я не думаю, что это проблема вообще. Настройки, о которых вы говорите, - это настройки проводника, и я не понимаю, почему другие приложения должны учитывать эти настройки. – ixSci

+0

С другой стороны, Qt утверждает, что он использует собственный диалог по умолчанию, и если это так, то настройки браузера должны быть подтверждены. Странный. – ixSci

 Смежные вопросы

  • Нет связанных вопросов^_^