Мне нужно обработать и закрыть QFileDialog в тестах приложения. Диалог вызывается:Как закрыть QFileDialog программно?
QFileDialog::getOpenFileName(...);
В тесте я 'поймать' этот диалог:
QApplication::topLevelWidgets();
Затем я выбираю нужен файл по QFileDialog API.
Теперь я должен закрыть диалог, чтобы получить правильный ответ (имя файла) из QFileDialog :: getOpenFileName(); Но слоты QDilaog не имеют эффекта (accept(), reject(), close() ...). Диалог остается открытым.
Решение, описанное here, работает, но в моем случае это не вариант. Я должен использовать стандартные диалоги.
Есть ли способ закрыть его правильно?
«Тогда я выбираю нужный файл по API QFileDialog». Вы действительно видите изменения в графическом интерфейсе диалога? – Ezee
Какую версию Qt вы используете? Я спрашиваю, потому что я смотрю на 4.8 источников, и он вообще не создает QFileDialog (вместо этого создается поддельный 'QDialog'). Итак, как вы используете API? – Ezee
Да - каталог и файл выбраны правильно! – kaa