Я использую PyQt5.
У меня есть следующие папки с файлами в корневом пути моего проекта:

Я использую следующий код:
Код: Выделить всё
from pathlib import Path
from PyQt5 import QtWidgets, uic
from PyQt5.QtWidgets import QTreeView, QFileSystemModel
DATA_PATH = Path('data')
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
uic.loadUi('windows/basic.ui', self)
self.tree_view = self.findChild(QTreeView, 'treeView')
model = QFileSystemModel(self)
model.setRootPath(str(DATA_PATH))
self.tree_view.setModel(model)
self.tree_view.setRootIndex(model.index(str(DATA_PATH)))
self.show()
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
app.exec_()
Код: Выделить всё
MainWindow
0
0
497
372
MainWindow
10
20
461
291
0
0
497
24
Files
Open file
Open recent
&New File
&Import File
&Export File
Load File
Но когда я расширяю папку «2025» с помощью Python и текстовый файл в нем, все работает нормально.
Я также пытался развернуть папку, когда в ней находится файл с расширением файла Javascript, это тоже вылетает.
Я пробовал изменить расширение с .json на .jso, и это работает.
Я пытался открыть папку за пределами моего проекта, такое же поведение, как и в папке моего проекта.
Я ожидаю, что QTreeView для расширения папок независимо от того, какой файл в них содержится.
На изображении вы можете увидеть желаемое поведение:
[img]https:/ /i.sstatic.net/VSYUfath.png[/img]
Папка 2025 расширяется, но когда я пытаюсь расширить папку 2024, программа вылетает.
Я запускаю программу через встроенный терминал в VSCode python __main__.py.
Нет журналов отладки из PyQt5 при отладке QT env: экспорт QT_DEBUG_PLUGINS=1
Программа просто перестает отвечать, как в следующее изображение, чтобы увидеть:
Код Visual Studio не отвечает
Изменить
Программа работает нормально, когда выполняется вне VSCode.< /п>
Подробнее здесь: https://stackoverflow.com/questions/789 ... -js-extens