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,如需转载请自行联系原作者