PyQt5 аварийно завершает работу, когда я открываю папку, содержащую файлы с расширением .json или .js, в QTreeView.Python

Программы на Python
Anonymous
PyQt5 аварийно завершает работу, когда я открываю папку, содержащую файлы с расширением .json или .js, в QTreeView.

Сообщение Anonymous »

Я работаю в VSCode на Ubuntu LTS 24.04.
Я использую 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_()
Вот файл Basic.ui:

Код: Выделить всё


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







Теперь, когда я пытаюсь развернуть папку «2024» со всеми файлами JSON в ней, программа вылетает.
Но когда я расширяю папку «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

Вернуться в «Python»