Отображение в QTreeView содержимого папки, расположенной на удалённом сервере
У меня на локальный машине есть приложение PyQt5 (фрагмент прилагается), которое с помощью QTreeView - Qfilesystem отображает содержимое папки на локальном компе.
Мне нужно чтобы это приложение отоьражало содержимое папки, расположенной на удалённом сервере в глобально сети. Белый IP у меня есть, ssh настроен и с его помощью (paramiko) могу подключиться к удалённому серверу.
Но такой подход мне не нравится потому чин приходится сначала скачивать содержимое папки с удалённого сервака на локальный
Можно как-то сделать так, чтобы приложение видело содержимое папки на удалённом сервере без скачивания на локальный?
И если это решение неверное, то как правильно решать эадачу отображения содержимого удалённого сервера?
import sys
import os
from PyQt5.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel,
QTreeView, QFileSystemModel)
class FolderViewer(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Обзор папки через QFileSystemModel")
self.resize(600, 400)
self.layout = QVBoxLayout()
self.model = QFileSystemModel()
self.model.setRootPath('') # Установка корня (по умолчанию — текущая директория)
self.tree = QTreeView()
self.tree.setModel(self.model)
self.layout.addWidget(self.tree)
self.setLayout(self.layout)
folder_path = 'C:/Users/olegp/Downloads' # Можно изменить на любой путь
index = self.model.index(folder_path)
self.tree.setRootIndex(index)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = FolderViewer()
window.show()
sys.exit(app.exec_())
Ответы (1 шт):
На вопрос был предложи ответ другими пользователями и он универсален: монтировать папку с удалённого сервера на локальный через sshfs. Чтобы это сделать, нужно на удалённом сервере установить ssh, а на локальном компьютере менеджер sshfs. Например, если ваш локальный компьютер на Windows, то поставьте на него SSHFS-Win.