Не могу открыть файл в проводнике - PullRequest
0 голосов
/ 28 мая 2018

я проверил здесь , и попробовал код независимо, и это сработало ... но вставив код в мое приложение QTreeView ... он открывает пользовательские библиотеки проводника с фокусом «Мои документы»

я использую subprocess.Popen(r'explorer /select,"file_path"')

вот мой код

def on_clicked(self, index):
    # self.path = self.fileSystemModel.fileInfo(index).absoluteFilePath()
    self.path = self.fileSystemModel.filePath(index)
    print(self.path

def tabMenu(self, positon):
    self.tmenu = QMenu()

    self.open = self.tmenu.addAction('Open')
    self.open_file_location = self.tmenu.addAction('Open File Location')

    self.tmenu.addActions([self.open, self.open_file_location])
    action = self.tmenu.exec_(self.temp_treeView.viewport().mapToGlobal(position))

    if action == self.open:
        os.startfile(self.path, 'open')
    elif action == self.open_file_location:
        print(self.path)
        subprocess.Popen(r'explorer /select,' + self.path)

1 Ответ

0 голосов
/ 28 мая 2018

self.path = self.fileSystemModel.filePath(index) возвращает путь к файлу с /, к которому subprocess.Popopen(r'explorer /select,"path") не может получить доступ. Вам необходимо преобразовать / в \, чтобы он заработал ... преобразовать строку в subprocess.Popen(r'explorer /select,'+"{}".format(path).replace('/', '\\'))

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