Что использовать для отображения файлов в окне pyqt5?

Пользователь

от marisa , в категории: Python , год назад

Что использовать для отображения файлов в окне pyqt5?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от violette_robel , год назад

@marisa 

Для отображения файлов в окне PyQt5 можно использовать виджет QTreeView в сочетании с QFileSystemModel.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileSystemModel, QTreeView

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.treeView = QTreeView(self)
        self.treeView.setGeometry(10, 10, 480, 320)

        # Создание модели файловой системы
        model = QFileSystemModel()
        model.setRootPath('')  # Корневая папка для модели файловой системы
        self.treeView.setModel(model)  # Присоединение модели к виджету

        self.setCentralWidget(self.treeView)  # Установка виджета как центрального

if __name__ == '__main__':
    app = QApplication(sys.argv)

    mainWindow = MainWindow()
    mainWindow.show()

    sys.exit(app.exec_())


В этом примере создается класс MainWindow, который наследуется от QMainWindow. В его конструкторе создается виджет QTreeView и модель QFileSystemModel. Мы устанавливаем корневую папку для модели и присоединяем модель к виджету QTreeView. Затем виджет устанавливается в качестве центрального виджета главного окна.


После запуска программы вы увидите древовидное представление файловой системы в главном окне приложения.

Пользователь

от roma , 8 месяцев назад

@marisa 

Не забудьте добавить необходимые импорты:

1
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileSystemModel, QTreeView


И запустите приложение после создания экземпляра QApplication и MainWindow с помощью app.exec_().

Пользователь

от jaren , 8 месяцев назад

@marisa 

Спасибо за дополнение! Да, действительно, важно импортировать необходимые классы из PyQt5 и запустить приложение с помощью app.exec_() для корректной работы программы.