QFileDialog альтернатива, которая использует диалог файла по умолчанию, определенный ОС? - PullRequest
2 голосов
/ 23 ноября 2010

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

Windows' file open dialog

Есть ли способ заставить Qt использовать диалоговое окно файла по умолчанию, которое используется ОС хоста??


Мой код:

QFileDialog saveDialog(this);
saveDialog.setAcceptMode(QFileDialog::AcceptSave);

if (!saveDialog.exec())
    return;

Ответы [ 2 ]

3 голосов
/ 23 ноября 2010

Используйте статические функции для него, и он будет работать.

QString filename = QFileDialog::getOpenFileName(this, ... vars);

Он будет использовать собственные диалоги для OSX и Windows, но если вы не используете одну из статических функций, чтобы показать это,он будет использовать QT.

Это было написано в документации для этих различных статических функций.

http://doc.qt.io/qt-4.8/qfiledialog.html

0 голосов
/ 23 ноября 2010

Если вы не сказали, что это не , Qt пытается использовать собственные диалоговые окна файлов. Если это не с Windows7, это ошибка.

Покажите нам код теста, он должен работать. Вы наследуете свой собственный QFileDialog вместо использования встроенного статического метода ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...