У меня есть сценарий python, который создает приложение с графическим интерфейсом, которое отображает список существующих файлов после того, как пользователь выбрал путь.
Система отображается в QlistWidget fileName и его parentFolder.
Я хочу получить полный путь к выбранному файлу из списка
пример: C: \ Users \ test \ Desktop \ test_arabic.docx
Система отображает эту ошибку:
[WinError 267] Неверное имя каталога: 'C: \ Users \ test \ Desktop \ test_arabic.docx'
Как исправить эту ошибку.
Примечание. Я использую переменную self.fullpath в качестве глобальной переменной.
print("chdir ==> {}".format(os.chdir(PureWindowsPath(self.fullPath))))
Код, приведенный выше, является причиной ошибки.где я пытаюсь изменить текущий путь к каталогу на выбранный путь к файлу.
def eventFilter(self, obj, event):
try:
if self.listWidgetPDFlist.viewport() == obj and event.type() == QtCore.QEvent.MouseMove:
#*********
it = self.listWidgetPDFlist.itemAt(event.pos())
print("it ==>{}".format(it.text()))
##*********
Item=str(it.text())
print("item ==> {}".format(Item))
print("full path ==>{}".format(PureWindowsPath(self.fullPath)))
print("chdir ==> {}".format(os.chdir(PureWindowsPath(self.fullPath))))
parentFile =Path().resolve().parent
print("parent file ==>{}".format(parentFile))
selectedFile = os.path.join(str(parentFile,Item))
print("selectedFile ==>{}".format(selectedFile))
if self.hoverItem != it:
message = selectedFile
QtWidgets.QToolTip.showText(QtGui.QCursor.pos(),
message,
self.listWidgetPDFlist.viewport(),
self.listWidgetPDFlist.visualItemRect(it))
self.hoverItem = selectedFile
except Exception as e:
print(e)
return QtWidgets.QMainWindow.eventFilter(self, obj, event)