Qt文件信息

QFileInfo

Headers

fileinfo.h

cpp 复制代码
#ifndef FILEINFO_H
#define FILEINFO_H

#include <QWidget>

namespace Ui {
class FileInfo;
}

class FileInfo : public QWidget
{
    Q_OBJECT

public:
    explicit FileInfo(QWidget *parent = 0);
    ~FileInfo();
    void getFileInfo(QString & fileName);

private slots:
    void on_browseFileBTtn_clicked();

private:
    Ui::FileInfo *ui;
};

#endif // FILEINFO_H

Sources

fileinfo.cpp

cpp 复制代码
#include "fileinfo.h"
#include "ui_fileinfo.h"
#include <QFileDialog>
#include <QDateTime>
FileInfo::FileInfo(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::FileInfo)
{
    ui->setupUi(this);
    setWindowTitle("文件信息");
}

FileInfo::~FileInfo()
{
    delete ui;
}

void FileInfo::getFileInfo(QString &fileName)
{
        QFileInfo info(fileName);

        qint64 size = info.size(); //文件大小
        QDateTime createTime = info.created();  //文件创建日期
        QDateTime lastMTime = info.lastModified();  //文件最后修改时间
        QDateTime lastRTime = info.lastRead();      //文件最近访问时间

        //文件的属性信息
        bool bIsDir = info.isDir();     //文件是否是目录
        bool BIsFile = info.isFile();   //文件是否是文件
        bool bIsSymLink = info.isSymLink();
        bool bIsHidden = info.isHidden();
        bool bIsReadable = info.isReadable();
        bool bIsWritable = info.isWritable();
        bool bIsExcutable = info.isExecutable();

        ui->FileSizeLineEidt->setText(QString::number(size));
        ui->FileCreateLineEdit->setText(createTime.toString());
        ui->FileModifyLineEdit->setText(lastMTime.toString());
        ui->FileReadLineEdit->setText(lastRTime.toString());

        ui->isDirCheckBox->setChecked(bIsDir);
        ui->isFileCheckBox->setChecked(BIsFile);
        ui->isSymLinkCheckBox->setChecked(bIsSymLink);
        ui->isHiddenCheckBox->setChecked(bIsHidden);
        ui->isWritableCheckBox->setChecked(bIsWritable);
        ui->isReadableCheckBox->setChecked(bIsReadable);
        ui->isExecutableCheckBox->setChecked(bIsExcutable);
}

void FileInfo::on_browseFileBTtn_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this,
                                                    "打开文件",
                                                    ".",
                                                    "files(*)");

//    QString path = QFileDialog::getExistingDirectory(this,
//                                                     "选择目录",
//                                                     ".");
    ui->FileNameLineEdit->setText(fileName);
    getFileInfo(fileName);
}

main.cpp

cpp 复制代码
#include "fileinfo.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    FileInfo w;
    w.show();

    return a.exec();
}

Forms

fileinfo.ui

运行结果

目录:

文件:

相关推荐
zhangpeng4555479404 分钟前
用Java写一个MVCC例子
java·开发语言
point_zg19 分钟前
Vue报错...properly without JavaScript enabled. Please enable it to continue
开发语言·javascript·vue
普通网友27 分钟前
如何在CentOS部署青龙面板并实现无公网IP远程访问本地面板
开发语言·后端·golang
sa1002728 分钟前
基于Python的网络爬虫技术研究
开发语言·爬虫·python
API小爬虫33 分钟前
如何利用 Java 爬虫获取京东商品详情信息
java·开发语言·爬虫
zheshiyangyang1 小时前
JavaScript---原型和原型链
开发语言·前端·javascript
pumpkin845141 小时前
理解 Rust 中的 String 分配机制
开发语言·rust
小宁学技术1 小时前
MATLAB在工程领域的实际应用案例
开发语言·matlab·matlab实际应用案例·matlab应用案例·matlab 实际应用案例
FreeLikeTheWind.2 小时前
Qt 开发时可以在函数内引用的头文件
开发语言·c++·qt
学会870上岸华师2 小时前
c语言学习16——内存函数
c语言·开发语言·学习