Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用另一台PC上的信息设置QFileSystemModel?_Python_Qt_Pyqt_Pyqt4_Pickle - Fatal编程技术网

Python 如何使用另一台PC上的信息设置QFileSystemModel?

Python 如何使用另一台PC上的信息设置QFileSystemModel?,python,qt,pyqt,pyqt4,pickle,Python,Qt,Pyqt,Pyqt4,Pickle,我正在做一个大学项目,我们需要在本地网络中建立一个类似dropbox的服务。我可以在终端上轻松地完成这项工作,但为了获得一些额外的信息,我正在尝试为它设置一个QtPy用户界面 我的一个小部件是一个QFileSystemModel的QTreeView,在这里我想可视化用户保存在“dropbox”上的文件和文件夹。问题是,信息和文件夹本身都在另一台计算机中。我已经尝试过将小部件从一台电脑发送到另一台电脑,但你无法对小部件进行pickle处理。我还尝试发送“self.model”并在以后添加,但没有成

我正在做一个大学项目,我们需要在本地网络中建立一个类似dropbox的服务。我可以在终端上轻松地完成这项工作,但为了获得一些额外的信息,我正在尝试为它设置一个QtPy用户界面

我的一个小部件是一个QFileSystemModel的QTreeView,在这里我想可视化用户保存在“dropbox”上的文件和文件夹。问题是,信息和文件夹本身都在另一台计算机中。我已经尝试过将小部件从一台电脑发送到另一台电脑,但你无法对小部件进行pickle处理。我还尝试发送“self.model”并在以后添加,但没有成功。有什么解决办法吗?以下是小部件代码:

class MyFolder(*form):

    def __init__(self):
        super().__init__()
        self.client = ""
        self.setupUi(self)
        self.model = QtGui.QFileSystemModel()
        self.model.setRootPath("./Archivos/MyFolder")
        self.myFolder.setModel(self.model)
        self.myFolder.setRootIndex(self.model.index("./Archivos/MyFolder"))
        self.addButton.clicked.connect(self.addDialog)

简而言之,你不能直接这么做。如文件所述:

QFileSystemModel类为本地 文件系统

  • 另一方面,只要底层O.S可以将远程文件系统表示为本地文件系统,QT就可以使用QFileSystemModel将其显示为本地文件系统
每个可以在本地表示的远程文件系统(使用HTTP、(s)FTP、SMB(CIFS;Samba)、SSH协议和可能的其他源)也可以在QFileSystemModel中表示

例如,在Windows上,您可以在专用驱动器号上“挂载”远程文件系统(例如,通过使用SMB共享)。在这种情况下,远程文件系统的可用性与本地文件系统完全相同,并且它对使用装载的本地驱动器的任何应用程序都是透明的

  • 另一种解决方案是将远程文件系统序列化,然后在本地系统上根据需要取消序列化

谢谢@Neitsa!你能给我推荐一本指南或什么来学习如何安装远程系统吗?我也会尝试第二种选择,看看哪一种更好。再次感谢,非常有用的回答:)