Почему естественность моего диалогового окна файла Qt зависит от переменных среды? - PullRequest
1 голос
/ 16 марта 2020

Согласно более старым ответам, таким как { ссылка }, диалоги файла Qt являются родными, только когда для создания диалога были использованы функции stati c. Здесь это не так (и фактически комментарий в ответе, приведенном выше, утверждает, что это больше не так).

Я подклассифицировал QFileDialog и вызываю метод exec(), чтобы отобразить диалоговое окно. В eclipse я установил переменную окружения PATH в моей конфигурации запуска для поиска DLL. Что меня удивляет, так это то, что я получаю диалоговое окно с собственным файлом Windows, если я выбираю «Добавить среду к собственному окружению», и я получаю диалоговое окно с не родным файлом Qt, если я выбираю «Заменить собственное окружение с указанной средой» в конфигурации запуска eclipse .

У кого-нибудь есть объяснение этому? Какая переменная среды определяет, является ли мой файловый диалог собственным или нет?

Я использую Qt 5.14.1 и Mingw-w64.

1 Ответ

0 голосов
/ 07 апреля 2020

Причина проста: на моем пути есть другие библиотеки Qt. Например, TortoiseHg и MikTeX поставляются с библиотеками Qt, и я установил их обе. Очевидно, некоторые из их DLL загружаются, когда они находятся в пути, и это влияет на поведение Qt. Если я заменяю собственную среду, загружаются только библиотеки из пути, определенного моей конфигурацией запуска.

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