fileviewer.cpp
来自「Linux窗口程序设计,Qt4精彩实例分析,以循序渐进的方式介绍Qt4开发及其实」· C++ 代码 · 共 78 行
CPP
78 行
#include "fileviewer.h"FileViewer::FileViewer( QWidget *parent, Qt::WindowFlags f ) : QDialog( parent, f ){ setWindowTitle(tr("File Viewer")); LineEditDir = new QLineEdit(); LineEditDir->setText("/"); ListWidgetFile = new QListWidget(); QVBoxLayout *vbLayout = new QVBoxLayout( this ); vbLayout->addWidget( LineEditDir ); vbLayout->addWidget( ListWidgetFile ); connect(LineEditDir,SIGNAL(returnPressed ()),this,SLOT(slotShow())); connect(ListWidgetFile,SIGNAL(itemDoubleClicked(QListWidgetItem * )),this,SLOT(slotShowDir(QListWidgetItem *))); QString root = "/"; QDir rootDir(root); QStringList string; string << "*" ; QFileInfoList list=rootDir.entryInfoList (string); showFileInfoList(list);}FileViewer::~FileViewer(){}//显示文件信息列表void FileViewer::showFileInfoList(QFileInfoList list){ ListWidgetFile->clear(); for(unsigned int i=0;i<list.count();i++) { QFileInfo tmpFileInfo=list.at(i); if((tmpFileInfo.isDir())) { QIcon icon(":/images/dir.png"); QString fileName=tmpFileInfo.fileName(); QListWidgetItem *tmp=new QListWidgetItem (icon,fileName); ListWidgetFile->addItem(tmp); } else if(tmpFileInfo.isFile()) { QIcon icon(":/images/file.png"); QString fileName=tmpFileInfo.fileName(); QListWidgetItem *tmp=new QListWidgetItem (icon,fileName); ListWidgetFile->addItem(tmp); } }}void FileViewer::slotShowDir(QListWidgetItem * item){ QString str=item->text(); QDir dir; dir.setPath(LineEditDir->text()); dir.cd(str); LineEditDir->setText(dir.absolutePath()); slotShow(dir);}void FileViewer::slotShow(QDir dir){ QStringList string; string << "*" ; QFileInfoList list=dir.entryInfoList (string,QDir::AllEntries,QDir::DirsFirst); showFileInfoList(list); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?