QT获取文件信息

简介:

image

代码:

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 //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

int main(int argc, char *argv[])
{

QApplication a(argc, argv);
FileInformation *w=new FileInformation();
w->show();
return a.exec();

}

==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2012/04/10/2440932.html,如需转载请自行联系原作者

相关文章
|
14天前
|
计算机视觉 数据格式
使用opencv在Qt控件上播放mp4文件
使用opencv在Qt控件上播放mp4文件
24 2
|
26天前
|
监控 前端开发 JavaScript
Qt Quick调试之道:跟踪、输出与打印信息的全面攻略
Qt Quick调试之道:跟踪、输出与打印信息的全面攻略
56 0
|
27天前
|
监控 安全 Linux
Qt 文件类实战:解锁文件操作的无限可能
Qt 文件类实战:解锁文件操作的无限可能
46 1
|
5月前
|
存储 Cloud Native Linux
C++ Qt关于启动可执行文件存在的问题
C++ Qt关于启动可执行文件存在的问题
|
5月前
|
编译器
Qt获取当前所用的Qt版本、编译器、位数等信息
Qt获取当前所用的Qt版本、编译器、位数等信息
|
5月前
|
存储 Cloud Native API
C++ QT监测可执行文件exe是否运行
C++ QT监测可执行文件exe是否运行
|
5月前
|
Linux iOS开发 MacOS
19 QT - 标准文件对话框
19 QT - 标准文件对话框
30 0
|
5月前
|
安全
04 QT - .pro文件
04 QT - .pro文件
32 0
|
14天前
qt开发使用camera类获取摄像头信息并拍照保存
qt开发使用camera类获取摄像头信息并拍照保存
|
27天前
|
存储 JSON C++
Qt cmake 增加qml文件:深度剖析Qt cmake 的qt_add_qml_module函数
Qt cmake 增加qml文件:深度剖析Qt cmake 的qt_add_qml_module函数
25 0