服务器可以pyqt显示吗,PyQT使用QTreeView显示FTP服务器的内容

我正在编写FTP客户端GUI。我希望它看起来像这样,所以我可以在文件夹中移动,并右键单击文件或文件夹并将其下载到本地机器:

EIdX7.png

我想我需要做这样的事情,但我不知道如何将从服务器获取的文件添加到树中。那么,任何建议在哪里寻找信息?

def _print_list(self):

if self.thread and self.thread.is_alive():

return

files = self._ftp.nlst().split('\r\n')

# all the folders and files in current directory

path = self._ftp.extract_path_from_pwd_reply()

# current directory

widget = QWidget(self)

self.setCentralWidget(widget)

model = QFileSystemModel()

#and here I want to do something like:

for file in files:

model.add(file)

if os.path.isdir(file):

# change directory and run again?

tree = QTreeView()

tree.setModel(model)

tree.setAnimated(False)

tree.setIndentation(20)

tree.setSortingEnabled(True)

windowLayout = QVBoxLayout()

windowLayout.addWidget(tree)

widget.setLayout(windowLayout)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本程序可列出 FTP 服务器的全部目录结构,并将其树状结构以文本格式输出,具有以下特点: 1、使用单线程连接 FTP,适应恶劣网络条件,断线后可自动重连,可设置重试次数、手动跳过等; 2、支持与 cmd 的 tree 命令相同格式的目录树文本输出,可依据输出参数设置重复输出结果; 3、可指定需要列表的 FTP 根目录、递归目录深度、结果输出格式(是否包含文件、是否输出文件大小信息等); 4、可指定单个目录获取出错时的最大尝试次数,可手动跳过某个获取出错的目录; 5、可设置常见的 FTP 连接、传输参数,支持中文目录/文件名; 6、运行过程中可暂停/继续、中止,可随时输出当前已获取到的部分结果; 7、结果可保存到文件,载入后可重新输出结果,也可以继续上次未成功完成的部分; 8、支持隐藏为托盘区图标和气泡提示,任务完成后自动断开 FTP 连接; 9、基于 VS2008 C# 编写,使用 FtpWebRequest 实现,提供可执行程序及全部源代码。 若有其它问题,欢迎与我联系交流:heweiqi0086@126.com,^_^ ============= 版本更新记录 ============= 说明: [+]增加功能特性 [-]较少功能特性 [!]改进已有功能 [X]修正已有Bug ---------------- - 1.6.9.0802 - ---------------- [+]可以设定每隔指定的获取记录数自动保存结果到文件。 [+]保存结果文件可以 GZip 格式压缩,但速度较慢、较耗内存。 [+]增加一种快速存储文件的方式,在测试中速度可以提高7-30倍。 [+]可以设定任务结束后是否自动输出结果。 [+]输出结果时可以直接输出到文件。 [+]可以手动进行内存整理,即时释放闲置内存。 [!]外观修改,原外观在win2003下很难看。 [!]界面布局修改。 [X]在不运行任务情况下,载入结果再保存的话会异常。 ---------------- - 1.5.9.0717 - ---------------- [+]错误达到指定次数后显示提示信息时,可指定是否暂停后续尝试。 [+]显示当前文件夹获取进度条。 [+]保持当前结果到文件,可重新载入,以便重新输出结果,也可以继续上次未成功完成的搜索任务。 [!]提高实时生效参数的灵敏性,若输入无效数字字符(如abc),会自动修改为默认值,不会导致程序异常。 [!]等待重连过程中,会有时间倒数提示,并且能即时中止任务。 [!]界面布局修改。 [!]修改提示信息文字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值