博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT中的文件浏览
阅读量:5357 次
发布时间:2019-06-15

本文共 2132 字,大约阅读时间需要 7 分钟。

FileViewr.h

#ifndef FILEVIEWR_H#define FILEVIEWR_H#include 
#include "ui_fileviewr.h"class FileViewr : public QDialog{ Q_OBJECTpublic: FileViewr(QWidget *parent = 0, Qt::WFlags flags = 0); ~FileViewr();private: Ui::FileViewrClass ui; QLineEdit *LineEditDir; QListWidget *ListWidaetFile; void showFileInfoList(QFileInfoList list);private slots: void slotShow(QDir dir); void slotShowDir(QListWidgetItem *item);};#endif // FILEVIEWR_H

FileViewr.cpp

#include "fileviewr.h"FileViewr::FileViewr(QWidget *parent, Qt::WFlags flags)	: QDialog(parent, flags){	ui.setupUi(this);	setWindowTitle(tr("File views"));	LineEditDir=new QLineEdit();	LineEditDir->setText("/");	ListWidaetFile=new QListWidget();	QVBoxLayout *layout=new QVBoxLayout(this);	layout->addWidget(LineEditDir);	layout->addWidget(ListWidaetFile);	connect(LineEditDir,SIGNAL(returnPressed()),this,SLOT(slotShow()));	connect(ListWidaetFile,SIGNAL(itemDoubleClicked(QListWidgetItem *)),this,SLOT(slotShowDir(QListWidgetItem *)));	QString root="/";	QDir rootDir(root);	QStringList string;	string<<"*";	QFileInfoList list=rootDir.entryInfoList(string);	showFileInfoList(list);}FileViewr::~FileViewr(){}/* * slotShow 负责显示dir目录下的所有文件 **/void FileViewr::slotShow(QDir dir){	QStringList string;	string <<"*";	QFileInfoList list=dir.entryInfoList (string,QDir::AllEntries,QDir::DirsFirst);	showFileInfoList(list);}void FileViewr::slotShowDir(QListWidgetItem *item){	QString str=item->text();	QDir dir;	dir.setPath(LineEditDir->text());	dir.cd(str);	LineEditDir->setText(dir.absolutePath());	slotShow(dir);}void FileViewr::showFileInfoList(QFileInfoList list){	ListWidaetFile->clear();	 for(unsigned int i=0;i
addItem(tmp); }else{ QIcon icon(":/images/file.png"); QString fileName=temFileinfo.fileName(); QListWidgetItem *tmp=new QListWidgetItem(icon,fileName); ListWidaetFile->addItem(tmp); } }}

main.cpp

#include "fileviewr.h"#include 
int main(int argc, char *argv[]){ QApplication a(argc, argv); FileViewr *w=new FileViewr; w->show(); return a.exec();}

转载于:https://www.cnblogs.com/rollenholt/archive/2012/04/10/2441122.html

你可能感兴趣的文章
c++ 引用方式传递数组
查看>>
HBase学习之路 (九)HBase phoenix的使用
查看>>
LeetCode() Remove Duplicates from Sorted Array II
查看>>
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>
The SortedMap Interface
查看>>
SniperOJ-leak-x86-64
查看>>
bzoj 4260: Codechef REBXOR (01 Trie)
查看>>
学好python
查看>>
css-IE中的border-radius和box-shadow
查看>>
利用bootstrap和webform的异步CRUD及分页
查看>>
HDUOJ 1879继续畅通工程(并查集)
查看>>
OC12_自动释放池
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>
2-5
查看>>
牛客多校3 A-PACM Team(状压降维+路径背包)
查看>>
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>