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

运行结果

目录:

文件:

相关推荐
paterWang1 小时前
基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
开发语言·python·opencv
东方佑1 小时前
使用Python和OpenCV实现图像像素压缩与解压
开发语言·python·opencv
我真不会起名字啊2 小时前
“深入浅出”系列之杂谈篇:(3)Qt5和Qt6该学哪个?
开发语言·qt
laimaxgg2 小时前
Qt常用控件之单选按钮QRadioButton
开发语言·c++·qt·ui·qt5
牵牛老人2 小时前
Qt中使用QPdfWriter类结合QPainter类绘制并输出PDF文件
数据库·qt·pdf
水瓶丫头站住2 小时前
Qt的QStackedWidget样式设置
开发语言·qt
小钊(求职中)3 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
慕诗客5 小时前
QT基于Gstreamer采集的简单示例
开发语言·qt
Blasit5 小时前
C++ Qt建立一个HTTP服务器
服务器·开发语言·c++·qt·http
Victoria.a5 小时前
数组和指针常见笔试题(深度剖析)
c语言·开发语言