Я надеюсь, что вы все живы и здоровы. Моя проблема в том, что я просто пытаюсь создать видеоплеер, и у меня есть QTreeWidget с элементами (папками и файлами) из заданного пути. Я хочу воспроизвести видео при двойном щелчке по элементу в QTreeWidget.
# How I create tree, fill and detect double click.
self.tree = QTreeWidget()
self.load_project_structure("resources/videos", self.tree)
self.tree.itemDoubleClicked.connect(self.handler)
def load_project_structure(self, startpath, tree):
for element in os.listdir(startpath):
path_info = startpath + "/" + element
parent_itm = QTreeWidgetItem(tree, [os.path.basename(element)])
if os.path.isdir(path_info):
self.load_project_structure(path_info, parent_itm)
parent_itm.setIcon(0, QIcon('img/folder.png'))
else:
parent_itm.setIcon(0, QIcon('img/file.png'))
def handler(item, column_no):
print(item, column_no)
Мое дерево просто так:
- Folder_1
- Folder_1.1
- File_1.1.1.mp4
- Файл_1.1.2.mp4
- Папка 1.2
- Folder_1.1
Когда я дважды щелкаю File_1.1.2, я хочу получить что-то подобное (и именно так я могу воспроизводить видео):
Папка_1/Папка_1.1/Файл_1.1.2.mp4
но я получил это:
‹main.Объект Window по адресу 0x00000275AC0FD558> Объект PyQt5.QtWidgets.QTreeWidgetItem по адресу 0x00000275AC0FD828>
Любая помощь приветствуется. заранее спасибо