PyQT5 QFileDialog проблемы с Pyinstaller - PullRequest
1 голос
/ 15 февраля 2020

Я использую PyQt5 с Pycharm и Python 3.7 на Arch Linux (также пробовал с 3.8). Когда я запускаю свой код из PyCharm или непосредственно из командной строки, диалоговое окно файла открывается нормально. Однако, когда я строю с Pyinstaller , я получаю постоянные ошибки при их использовании. Код:

def choose_log_location(self):
    self.log_location = QFileDialog.getExistingDirectory(
        self,
        "Choose Log Files Directory",
        "/home",
        options=QFileDialog.ShowDirsOnly)

    if self.log_location != "":
        self.Log_Location.setText(self.log_location)

После сборки с помощью Pyinstaller, запуска созданного приложения и нажатия кнопки, которая запускает этот метод, я получаю 3 всплывающих окна с сообщениями об ошибках:

  1. Ошибка? URL не может быть указан в файле: ///
  2. Неверный URL
  3. Ошибка? URL-адрес не может быть указан в файле: ///

Затем, когда фактически открывается диалоговое окно файла, основная область становится пустой.

Blank QFileDialog

Я также получаю следующую ошибку в консоли:

kf5.kio.core: "" qt. qpa.xcb: QXcbConnection: ошибка XCB: 3 (BadWindow), последовательность: 7952, идентификатор ресурса: 36398251, основной код: 40 (TranslateCoords), вспомогательный код: 0

У меня также возникают похожие проблемы использование QFileDialog.getOpenFileName () (пустая область, где файлы должны быть - заметка проверена без фильтра, тот же результат), но другая ошибка в консоли:

kf5.kservice.services: KServiceTypeTrader: serviceType "ThumbCreator "не найдено

GetOpenFileName dialog

...