QT获取文件信息
2015-09-19 17:24
330 查看
http://www.cnblogs.com/rollenholt/archive/2012/04/10/2440932.html
效果图如下:
![](http://images.cnblogs.com/cnblogs_com/rollenholt/201204/201204101720282384.png)
代码:
FileInformation.h
fileInformation.cpp
main.cpp
效果图如下:
![](http://images.cnblogs.com/cnblogs_com/rollenholt/201204/201204101720282384.png)
代码:
FileInformation.h
/******************************************************************** created: 2012/04/10 created: 10:4:2012 17:10 filename: F:\C++\FileInformation\FileInformation\fileinformation.h file path: F:\C++\FileInformation\FileInformation file base: fileinformation file ext: h author: Rollen Holt purpose: The head File of this project *********************************************************************/ #ifndef FILEINFORMATION_H #define FILEINFORMATION_H #include <QtGui> //in order to convenient, don't recommend. #include "ui_fileinformation.h" class FileInformation : public QDialog { Q_OBJECT public: FileInformation(QWidget *parent = 0, Qt::WFlags flags = 0); ~FileInformation(); private: Ui::FileInformationClass ui; QLabel *fileNameLabel; QLineEdit *fileNameLineEdit; QPushButton *fileButton; QLabel *fileSize; QLineEdit *fileLineEditSize; QLabel *fileCreatLabel; QLineEdit *fileCreatLineEdit; QLabel *fileLastModifyLabel; QLineEdit *fileLastModifLineEdit; QLabel *fileLastVisitedLabel; QLineEdit *fileLastVisitedLineEdit; QLabel *filePropertyLabel; QCheckBox *checkIsDir; QCheckBox *checkIsFile; QCheckBox* checkBoxIsSymLink; QCheckBox* checkBoxIsHidden; QCheckBox* checkBoxIsReadable; QCheckBox* checkBoxIsWritable; QCheckBox* checkBoxIsExecutable; QPushButton* PushButtonGet; void getFileInformation(QString fileName); private slots: void slotFile(); void slotGet(); }; #endif // FILEINFORMATION_H
fileInformation.cpp
#include "fileinformation.h" FileInformation::FileInformation(QWidget *parent, Qt::WFlags flags) : QDialog(parent, flags) { ui.setupUi(this); setWindowTitle(tr("File Information")); fileNameLabel=new QLabel(tr("File Name")); fileNameLineEdit=new QLineEdit(); fileButton=new QPushButton(tr("Open")); QHBoxLayout *layout1=new QHBoxLayout(); layout1->addWidget(fileNameLabel); layout1->addWidget(fileNameLineEdit); layout1->addWidget(fileButton); fileSize=new QLabel(tr("File Size")); fileLineEditSize=new QLineEdit(); QHBoxLayout *layout2=new QHBoxLayout(); layout2->addWidget(fileSize); layout2->addWidget(fileLineEditSize); fileCreatLabel=new QLabel(tr("Creat Time")); fileCreatLineEdit=new QLineEdit(); QHBoxLayout *layout3=new QHBoxLayout(); layout3->addWidget(fileCreatLabel); layout3->addWidget(fileCreatLineEdit); fileLastModifyLabel=new QLabel(tr("Last Modify Time")); fileLastModifLineEdit=new QLineEdit(); QHBoxLayout *layout4=new QHBoxLayout(); layout4->addWidget(fileLastModifyLabel); layout4->addWidget(fileLastModifLineEdit); fileLastVisitedLabel=new QLabel(tr("Last Visited Time")); fileLastVisitedLineEdit=new QLineEdit(); filePropertyLabel=new QLabel(tr("File Property")); checkIsDir=new QCheckBox(tr("Menu")); checkIsFile=new QCheckBox(tr("File")); checkBoxIsSymLink=new QCheckBox(tr("SymLink")); checkBoxIsReadable=new QCheckBox(tr("Readable")); checkBoxIsWritable=new QCheckBox(tr("Writeable")); checkBoxIsHidden=new QCheckBox(tr("Hodden")); checkBoxIsExecutable=new QCheckBox(tr("Executable")); QHBoxLayout *layout5=new QHBoxLayout(); layout5->addWidget(filePropertyLabel); layout5->addWidget(checkIsDir); layout5->addWidget(checkIsFile); layout5->addWidget(checkBoxIsSymLink); layout5->addWidget(checkBoxIsReadable); layout5->addWidget(checkBoxIsWritable); layout5->addWidget(checkBoxIsExecutable); PushButtonGet=new QPushButton(tr("Get File Information")); // main layout QVBoxLayout *mainLayout=new QVBoxLayout(); mainLayout->addLayout(layout1); mainLayout->addLayout(layout2); mainLayout->addLayout(layout3); mainLayout->addLayout(layout4); mainLayout->addLayout(layout5); mainLayout->addWidget(PushButtonGet); setLayout(mainLayout); connect(fileButton,SIGNAL(clicked()),this,SLOT(slotFile())); connect(PushButtonGet,SIGNAL(clicked()),this,SLOT(slotGet())); } FileInformation::~FileInformation() { } /* * Get file information **/ void FileInformation::getFileInformation(QString fileName){ QFileInfo info(fileName); qint64 size=info.size(); QDateTime creatTime=info.created(); QDateTime lastModifyTime=info.lastModified(); QDateTime lastReadTime=info.lastRead(); bool isDir=info.isDir(); bool isFile=info.isFile(); bool isSymLink = info.isSymLink(); bool isHidden = info.isHidden(); bool isReadable = info.isReadable(); bool isWritable = info.isWritable(); bool isExecutable =info.isExecutable(); fileLineEditSize->setText(QString::number(size)); fileCreatLineEdit->setText(creatTime.toString()); fileLastModifLineEdit->setText(lastModifyTime.toString()); fileLastVisitedLineEdit->setText(lastReadTime.toString()); checkIsDir->setCheckable(isDir?Qt::Checked:Qt::Unchecked); checkIsFile->setCheckable(isFile?Qt::Checked:Qt::Unchecked); checkBoxIsSymLink->setCheckState (isSymLink?Qt::Checked:Qt::Unchecked); checkBoxIsHidden->setCheckState (isHidden?Qt::Checked:Qt::Unchecked); checkBoxIsReadable->setCheckState (isReadable?Qt::Checked:Qt::Unchecked); checkBoxIsWritable->setCheckState (isWritable?Qt::Checked:Qt::Unchecked); checkBoxIsExecutable->setCheckState (isExecutable?Qt::Checked:Qt::Unchecked); } /* * Open file **/ void FileInformation::slotFile(){ QString s=QFileDialog::getOpenFileName(this,tr("open file"),"/","files(*)"); fileNameLineEdit->setText(s.toAscii()); } void FileInformation::slotGet(){ getFileInformation(fileNameLineEdit->text()); }
main.cpp
#include "fileinformation.h" #include <QtGui/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); FileInformation *w=new FileInformation(); w->show(); return a.exec(); }
相关文章推荐
- 中值滤波 Qt代码 内含OpenCV类
- Qt打开目录
- Qt下载地址收藏
- OpenMesh+Qt+vs2010
- MQTT简要介绍
- ubuntu下用命令行安装Qt
- Qt中EventFilter过滤鼠标事件
- Qt文件操作之——QFileDialog保存文件
- QT学习记录(一)事件 (event)
- Qt5.5连接MySQL
- qt中出现库函数无法解析的外部符号
- 自学QT之实现窗口移动
- QT调用VC dll方法
- QT开发环境在mini2440上移植
- 搭建嵌入式QT开发环境
- Helloworld 之 【QT 5.5.0 MSVC 2012 + OpenCV 2.4.9 】
- Qt Multimedia--- note
- Python+Matplotlib+PyQt4做的简单数据预测工具
- QT创建登录页面
- Qt利用QProcess打开路径(含中文路径)的方法