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

运行结果

目录:

文件:

相关推荐
A0_張張18 小时前
记录一个PDF盖章工具(PyQt5 + PyMuPDF)
开发语言·python·qt·pdf
巴拉巴拉~~18 小时前
Flutter 通用下拉选择组件 CommonDropdown:单选 + 搜索 + 自定义样式
开发语言·javascript·ecmascript
ZHang......18 小时前
LeetCode 1114. 按序打印
java·开发语言·算法
缺点内向18 小时前
如何在 C# 中重命名 Excel 工作表并设置标签颜色
开发语言·c#·excel
Можно18 小时前
深入理解 JavaScript 函数:分类、特性与实战应用
开发语言·javascript
淼淼76318 小时前
工厂方法模式
开发语言·c++·windows·qt·工厂方法模式
Hui Baby18 小时前
全局事务入口感知子事务方法-TCC
java·开发语言·数据库
laozhoy118 小时前
深入理解Go语言errors.As方法:灵活的错误类型识别
开发语言·后端·golang
周杰伦_Jay18 小时前
【Go 语言】核心特性、基础语法及面试题
开发语言·后端·golang
周杰伦_Jay18 小时前
【Python开发面试题及答案】核心考点+原理解析+实战场景
开发语言·python