• 9114阅读
  • 10回复

文件浏览对话框的实现 [复制链接]

上一主题 下一主题
离线cwf123456
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-06
求助大侠:
   现在要做一个文件浏览的对话框:
     1.可以选择文件查看的方式,类似windows下面的列表显示、缩略图显示、平铺显示等;
     2.如果文件是图片(jpg、bmp的),可以显示出图片的大致内容;
     3.这个对话框可以安放工具条。
   要实现这么一个界面,主窗口用QMainWindow实现,中央窗口用什么实现呢?
   留下你的一句话,小弟能少走很多弯路,谢谢啦
[ 此帖被cwf123456在2009-10-07 13:27重新编辑 ]
离线rqzrqh

只看该作者 1楼 发表于: 2009-10-06
不知道。现在也没必要学这个东西
离线cwf123456
只看该作者 2楼 发表于: 2009-10-07
。。。。。
算你是个帮顶的
离线shiroki

只看该作者 3楼 发表于: 2009-10-07
Qt带的QFileDialog好像已经和你的需求非常接近了。 可以看看demo里的standard dialog那个demo
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线cwf123456
只看该作者 4楼 发表于: 2009-10-07
QFileDialog产生的对话框一般用做打开、保存文件的,可是我想要个浏览文件的啊
主窗口用QMainWindow,中央窗口应该用什么实现啊,这种窗口天天用却不知道是什么···
继续求教
离线aoxuehan

只看该作者 5楼 发表于: 2009-10-08
在中间放一个QScrollArea,然后在代码中新建一个label,用于显示图片,然后把这2个绑定,代码如下:
openFileName = QFileDialog::getOpenFileName(this);          
//code here 判断是否为图片格式~ 直接提取path后面的文件名判断  
if (!openFileName.isEmpty())
    label->setPixmap(QPixmap(openFileName));
    scrollArea->setWidget(label);
    scrollArea->show();
这样就可以用label显示图片了,同时又有滚动条。
[ 此帖被aoxuehan在2009-10-08 11:04重新编辑 ]
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线cwf123456
只看该作者 6楼 发表于: 2009-10-08
多谢楼上的答案
可是我要现实当前文件夹下所有内容,也就是每个类型的文件都有一个图标,如果是图片的话,图标内容是这幅图缩小后的内容,就像在linux图形界面下面打开某个文件夹现实的结果一样
请高人给个提示啊
离线aoxuehan

只看该作者 7楼 发表于: 2009-10-08
我还知道一点。 也是知道的关于这个的最后一点了
QDir不是提供了遍历目录的功能么?
我只知道他有这个功能 ,不知道LZ能不能用上。
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线wd007

只看该作者 8楼 发表于: 2009-11-27
如果是图片的话,图标内容是这幅图缩小后的内容,就像在linux图形界面下面打开某个文件夹现实的结果一样

这个有些难度。

前面的需求可以用QDir,QDir显示文件系统目录,使用QListWidget用作显示目录的窗体
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线novesky

只看该作者 9楼 发表于: 2009-11-28
列表显示或详细的列表显示可用QListView;缩略图显示可以用QGridLayout来布局,每个缩略图可用QWidget,然后paint或setPixmap。为了显示速度可以把缩略图保存在一个隐藏文件或文件夹内(有点像xp下的thumd.db文件)。至于如何绘制缩略图,没仔细研究过。我也正在做类似的软件,手机上的
离线novesky

只看该作者 10楼 发表于: 2009-11-28
工具条很简单,弄个QLabel,上面add几个button就好。或者用QMainWindow自带的工具条也行
快速回复
限100 字节
 
上一个 下一个