找回密码
 立即注册
收起左侧

qt程序如何显示其他终端下的文件列表

14
回复
11348
查看
[复制链接]
累计签到:35 天
连续签到:1 天
来源: 2013-12-11 16:05:59 显示全部楼层 |阅读模式
1Qter豆
我在PC端写了一个qt显示列表的程序,可以显示PC下的文件目录,是用filesystemmodel和treeview做的。
但是我现在需要显示另外一个终端下的文件目录。
我先使用socket把另一个终端下的目录信息存到二维数组里,传递给PC机。之后就不知道怎么做了。
想问一下:
1、这样还要不要用到filesystemmodel这个模型,
2、如果不用,在qt中,如何把数组中的数据读进来并关联起来,在treeiew中显示出来?

最佳答案

查看完整内容

为什么不分层次,分了的话就好办了,你这里不管文件还是文件夹全部是同一级别,当然不好处理了。
回复

使用道具 举报

尚未签到

2013-12-11 16:06:00 显示全部楼层
pzldream 发表于 2014-1-7 18:57
folder:/home/ubuntu/video/
file:/home/ubuntu/video/test2.264
file:/home/ubuntu/video/foreman_cif.y ...

为什么不分层次,分了的话就好办了,你这里不管文件还是文件夹全部是同一级别,当然不好处理了。
回复

使用道具 举报

尚未签到

2013-12-11 16:39:20 显示全部楼层
你说的终端是指另一台设备吧?
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2013-12-11 19:56:19 显示全部楼层
Joey_Chan 发表于 2013-12-11 16:39
你说的终端是指另一台设备吧?

嗯嗯, 是的,是另一台设备,就比如在PC机和arm板子之间进行
回复

使用道具 举报

尚未签到

2013-12-11 23:30:32 显示全部楼层
如果你拿得到数据,那就是如何显示的问题了。

qt里面的view基本都是mvc架构,如果你懂什么是mvc的话,其实很好办。你把数据都传到m里面,c来决定如何显示,用什么model都一样,看你怎么用了。
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2013-12-12 18:50:16 显示全部楼层
Joey_Chan 发表于 2013-12-11 23:30
如果你拿得到数据,那就是如何显示的问题了。

qt里面的view基本都是mvc架构,如果你懂什么是mvc的话,其实 ...

我看过mvc架构, 就是模型视图委托吧。   我现在就是决定把数据传到模型里。  不过这样的话,是得靠自己来重新建模型咯。   
还有一点就是,  那是不是另一台设备下面的每一个文件路径,我都要自己手动来添加到模型里面去
回复

使用道具 举报

尚未签到

2013-12-12 22:15:16 显示全部楼层
pzldream 发表于 2013-12-12 18:50
我看过mvc架构, 就是模型视图委托吧。   我现在就是决定把数据传到模型里。  不过这样的话,是得靠自己 ...

其实可以是迭代模型,这个不会难理解:

一级目录一个model,然后每个目录下面再一个model
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2013-12-30 20:33:10 显示全部楼层
Joey_Chan 发表于 2013-12-12 22:15
其实可以是迭代模型,这个不会难理解:

一级目录一个model,然后每个目录下面再一个model ...

您好,对于如你所说的迭代模型感觉到困惑。

您说的把数据传到模型里,是传到QStandardItemModel这个类的模型里么?
我现在的数据都是路径的形式存放,  如果添加到模型中,那么怎么区分文件夹和文件夹下的文件呢?

回复

使用道具 举报

尚未签到

2013-12-31 23:16:19 显示全部楼层
pzldream 发表于 2013-12-30 20:33
您好,对于如你所说的迭代模型感觉到困惑。

您说的把数据传到模型里,是传到QStandardItemModel这个类的 ...

我不是很明白你的意思。。 首先我不明白你拿到的是什么样的数据结构,就拿常用的ftp模式,一般只读当前目录下的所有文件和目录,而不会继续读里面目录的东西,等选中了这个目录后才会继续读这个目录里面的东西。

至于什么model都是一样的,不要太拘束,你只要知道qt里面mvc的运作原理就够了
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2014-1-2 14:59:40 显示全部楼层
本帖最后由 pzldream 于 2014-1-2 15:17 编辑
Joey_Chan 发表于 2013-12-31 23:16
我不是很明白你的意思。。 首先我不明白你拿到的是什么样的数据结构,就拿常用的ftp模式,一般只读当前目 ...

你好,比如说我现在想显示另一个终端下的目录video,这个目录下的文件和目录获得的信息如下。之后我想用树状结构把他们显示在界面上。
目录下的文件和目录信息:
folder:/home/ubuntu/video/
file:/home/ubuntu/video/test2.264
file:/home/ubuntu/video/foreman_cif.yuv
file:/home/ubuntu/video/live可以播放的目录
folder:/home/ubuntu/video/wav/
file:/home/ubuntu/video/wav/gsd.wav
file:/home/ubuntu/video/wav/zdsjdjt.wav
folder:/home/ubuntu/video/rmvb/
file:/home/ubuntu/video/rmvb/glgs.rmvb
folder:/home/ubuntu/video/mp3/
file:/home/ubuntu/video/mp3/zdsjdjt.mp3
folder:/home/ubuntu/video/mpg/
file:/home/ubuntu/video/mpg/glgs_part.mpg
file:/home/ubuntu/video/mpg/glgs.mpg
folder:/home/ubuntu/video/mp4/
file:/home/ubuntu/video/mp4/gsd.mp4
folder:/home/ubuntu/video/ts/
file:/home/ubuntu/video/ts/2.ts
file:/home/ubuntu/video/ts/glgs.ts

如同这样的树状显示出来,比如A是一个文件夹,文件夹下有BC文件。

这是我想到的能看到其他另一个终端下面文件的一种方法。我只想到这种。  
另一种显示,按您上面说的,只读当前目录下的所有文件和目录,等选中了这个目录后再继续读这个目录里面的东西。 我不知道根据我获取的数据,能不能实现这种方法的显示,所以没有尝试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

尚未签到

2014-1-2 23:00:51 显示全部楼层
pzldream 发表于 2014-1-2 14:59
你好,比如说我现在想显示另一个终端下的目录video,这个目录下的文件和目录获得的信息如下。之后我想用树 ...

其实很大程度上取决于你拿到的是怎么样的数据? 如格式这些,或者你完整贴出来看看
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2014-1-7 18:57:24 显示全部楼层
Joey_Chan 发表于 2014-1-2 23:00
其实很大程度上取决于你拿到的是怎么样的数据? 如格式这些,或者你完整贴出来看看 ...

folder:/home/ubuntu/video/
file:/home/ubuntu/video/test2.264
file:/home/ubuntu/video/foreman_cif.yuv
file:/home/ubuntu/video/live可以播放的目录
folder:/home/ubuntu/video/wav/
file:/home/ubuntu/video/wav/gsd.wav
file:/home/ubuntu/video/wav/zdsjdjt.wav
folder:/home/ubuntu/video/rmvb/
file:/home/ubuntu/video/rmvb/glgs.rmvb
folder:/home/ubuntu/video/mp3/
file:/home/ubuntu/video/mp3/zdsjdjt.mp3
folder:/home/ubuntu/video/mpg/
file:/home/ubuntu/video/mpg/glgs_part.mpg
file:/home/ubuntu/video/mpg/glgs.mpg
folder:/home/ubuntu/video/mp4/
file:/home/ubuntu/video/mp4/gsd.mp4
folder:/home/ubuntu/video/ts/
file:/home/ubuntu/video/ts/2.ts
file:/home/ubuntu/video/ts/glgs.ts

这部分就是拿到的完整信息
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2014-3-13 15:12:08 显示全部楼层
Joey_Chan 发表于 2014-1-2 23:00
其实很大程度上取决于你拿到的是怎么样的数据? 如格式这些,或者你完整贴出来看看 ...

我的个人提醒里面提示您2014-1-7 20:21有回复我, 到这个帖子里怎么看不到你回复的具体内容了
回复

使用道具 举报

尚未签到

2014-3-13 17:53:55 显示全部楼层
pzldream 发表于 2014-3-13 15:12
我的个人提醒里面提示您2014-1-7 20:21有回复我, 到这个帖子里怎么看不到你回复的具体内容了 ...

好像我自己也看不到。。是不是被和谐了

好像我说过,让你的目录分层次存放,就像资源管理器的树形分类,这样就好处理了
回复

使用道具 举报

累计签到:35 天
连续签到:1 天
2014-3-13 20:26:53 显示全部楼层
Joey_Chan 发表于 2014-3-13 17:53
好像我自己也看不到。。是不是被和谐了

好像我说过,让你的目录分层次存放,就像资源管理器的树形分类, ...

恩。 好的。 谢谢。 我试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了