Не удалось открыть папку в ubuntu20 с помощью приложения pyqt

#ubuntu #pyqt

Вопрос:

Я работаю над приложением, в котором требуется открыть файл и папку, в которой находится файл. Я работаю в ubuntu20. Я разрабатываю это приложение с помощью pyqt.

До сих пор я старался следовать приведенным выше требованиям:

  1. Попытался выполнить команду xdg-open как:
    os.system(f'xdg-open "{path}"')
  2. Попытался использовать внутренний модуль Qt QDesktopServices в качестве:
    QDesktopServices.openUrl(QUrl(path))

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

Хотя я перешел в случае открытия файла с приложением по умолчанию, выполнив весь путь как команду: os.system(path) , но в поисках лучшего/надежного решения.

———ОБНОВЛЕНИЕ———
когда я выполняю xdg-open path в терминале, папка открывается в проводнике, и файл открывается с помощью приложения по умолчанию.

Комментарии:

1. Это больше похоже на проблему с настройкой пользователя (с которой вы можете сделать очень мало). Происходит ли то же самое, даже если вы работаете xdg-open <path> на терминале?

2. спасибо за быстрый ответ, папка открывается в проводнике файлов, а файл-в приложении по умолчанию.

3. Я только что заметил , что вы используете QUrl(path) , но для локальных файлов вы должны использовать QUrl.fromLocalFile(path) .

4. @musicamante также попробовал QUrl.fromLocalFile(путь), но результат тот же, т. е. индекс файла и файл открывается в браузере

5. Вы полностью уверены, что используемый вами путь действителен? Вы можете опубликовать это?