尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

QT:获取文件信息之创建日期方法created()方法--废弃

QT:获取文件信息之创建日期方法created()方法--废弃
📅 发布时间:2026/6/19 21:18:07
QT:获取文件信息之创建日期方法created()方法--废弃。 在Qt5.12框架中,QFileInfo::created()方法已被标记为废弃(deprecated),建议使用birthTime()或metadataChangeTime()替代。

fileinfo.cpp:90:30: warning: 'created' is deprecated: Use either birthTime() or metadataChangeTime()
qfileinfo.h:137:5: note: 'created' has been explicitly marked deprecated here
qglobal.h:294:33: note: expanded from macro 'QT_DEPRECATED_X'
qcompilerdetection.h:676:55: note: expanded from macro 'Q_DECL_DEPRECATED_X'

QFileInfo::created()方法已被标记为废弃(deprecated),建议使用birthTime()或metadataChangeTime()替代

建议使用新方法birthTime()明确表示获取文件出生时间(创建时间),而metadataChangeTime()获取元数据修改时间,语义更清晰。

/**************

 QString file = fileNameLineEdit->text();
    QFileInfo info(file);
    qint64 size = info.size();
   QDateTime created = info.birthTime() ;
*********************/

image

 

头文件 FILEINFO.H 

#ifndef FILEINFO_H
#define FILEINFO_H#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QCheckBox>
#include <QComboBox>
#include <QGroupBox>class FileInfo : public QDialog
{Q_OBJECTpublic:FileInfo(QWidget *parent = nullptr,Qt::WindowFlags f=0);~FileInfo();public slots:void slotFile();void slotGet();private:QLabel *fileNameLabel;QLineEdit *fileNameLineEdit;QPushButton *fileBtn;QLabel *sizeLabel;QLineEdit *sizeLineEdit;QLabel *createTimeLabel;QLineEdit *createTimeLineEdit;QLabel *lastModifiedLabel;QLineEdit *lastModifiedLineEdit;QLabel *lastReadLabel;QLineEdit *lastReadLineEdit;QLabel *propertyLabel;QCheckBox *isDirCheckBox;QCheckBox *isFileCheckBox;QCheckBox *isSymLinkCheckBox;QCheckBox *isHiddenCheckBox;QCheckBox *isReadableCheckBox;QCheckBox *isWritableCheckBox;QCheckBox *isExecutableCheckBox;//QCheckBox *isCheckBox;QPushButton *getBtn;};
#endif // FILEINFO_H

  

 

源文件fileinfo.cpp 

#include "fileinfo.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QFileDialog>
#include <QDateTime>FileInfo::FileInfo(QWidget *parent, Qt::WindowFlags f): QDialog(parent, f)
{fileNameLabel = new QLabel(tr("文件名:"));fileNameLineEdit = new QLineEdit;fileBtn = new QPushButton(tr("文件"));sizeLabel = new QLabel(tr("大小:"));sizeLineEdit = new QLineEdit;createTimeLabel = new QLabel(tr("创建时间:"));createTimeLineEdit = new QLineEdit;lastModifiedLabel = new QLabel(tr("最后修改时间:"));lastModifiedLineEdit = new QLineEdit;lastReadLabel = new QLabel(tr("最后访问时间:"));lastReadLineEdit = new QLineEdit;propertyLabel = new QLabel(tr("属性:"));isDirCheckBox = new QCheckBox(tr("目录"));isFileCheckBox = new QCheckBox(tr("文件"));isSymLinkCheckBox = new QCheckBox(tr("符号连接"));isHiddenCheckBox = new QCheckBox(tr("隐藏"));isReadableCheckBox = new QCheckBox(tr("读"));isWritableCheckBox = new QCheckBox(tr("写"));isExecutableCheckBox = new QCheckBox(tr("执行"));//isCheckBox = new QCheckBox(tr(""));getBtn = new QPushButton(tr("获得文件信息"));QGridLayout *gridLayout = new QGridLayout;gridLayout->addWidget(fileNameLabel,0,0);gridLayout->addWidget(fileNameLineEdit,0,1);gridLayout->addWidget(fileBtn,0,2);gridLayout->addWidget(sizeLabel,1,0);gridLayout->addWidget(sizeLineEdit,1,1);gridLayout->addWidget(createTimeLabel,2,0);gridLayout->addWidget(createTimeLineEdit,2,1);gridLayout->addWidget(lastModifiedLabel,3,0);gridLayout->addWidget(lastModifiedLineEdit,3,1,1,2);gridLayout->addWidget(lastReadLabel,4,0);gridLayout->addWidget(lastReadLineEdit,4,1,1,2);//gridLayout->addWidget(,,);QHBoxLayout *layout2 = new QHBoxLayout;layout2->addWidget(propertyLabel);layout2->addStretch();QHBoxLayout *layout3 = new QHBoxLayout;layout3->addWidget(isDirCheckBox);layout3->addWidget(isFileCheckBox);layout3->addWidget(isSymLinkCheckBox);layout3->addWidget(isHiddenCheckBox);layout3->addWidget(isReadableCheckBox);layout3->addWidget(isWritableCheckBox);layout3->addWidget(isExecutableCheckBox);QHBoxLayout *layout4 = new QHBoxLayout;layout4->addWidget(getBtn);QVBoxLayout *mainLayout = new QVBoxLayout(this);mainLayout->addLayout(gridLayout);mainLayout->addLayout(layout2);mainLayout->addLayout(layout3);mainLayout->addLayout(layout4);connect(fileBtn,SIGNAL(clicked()),this,SLOT(slotFile()));connect(getBtn,SIGNAL(clicked()),this,SLOT(slotGet()));
}FileInfo::~FileInfo()
{
}void FileInfo::slotFile()
{QString fileName = QFileDialog::getOpenFileName(this,"打开","/","files(*)");fileNameLineEdit->setText(fileName);
}void FileInfo::slotGet()
{QString file = fileNameLineEdit->text();QFileInfo info(file);qint64 size = info.size();QDateTime created = info.birthTime() ;//  QDateTime created = info.created();QDateTime lastModified = info.lastModified(); //最后修改时间QDateTime lastRead = 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();sizeLineEdit->setText(QString::number(size));createTimeLineEdit->setText(created.toString());lastModifiedLineEdit->setText(lastModified.toString());lastReadLineEdit->setText(lastRead.toString());isDirCheckBox->setCheckState(isDir?Qt::Checked:Qt::Unchecked);isFileCheckBox->setCheckState(isFile?Qt::Checked:Qt::Unchecked);isSymLinkCheckBox->setCheckState(isSymLink?Qt::Checked:Qt::Unchecked);isHiddenCheckBox->setCheckState(isHidden?Qt::Checked:Qt::Unchecked);isReadableCheckBox->setCheckState(isReadable?Qt::Checked:Qt::Unchecked);isWritableCheckBox->setCheckState(isWritable?Qt::Checked:Qt::Unchecked);isExecutableCheckBox->setCheckState(isExecutable?Qt::Checked:Qt::Unchecked);}

  

 

运行效果:

image

 

优质生活从拆开始

相关新闻

  • 排列组合 容斥 总结
  • C/C++ 指针详解与各种指针定义 - 指南
  • 玄机——第一章 应急响应-Linux日志分析 wp

最新新闻

  • 修复kkFileView XSS漏洞与POI文件预览兼容性问题实战
  • 弱监督学习与概率提示技术在3D目标检测中的应用
  • Hoppscotch自托管部署与API自动化测试实战指南
  • Qwen3.6-A3B:面向本地Agent的MoE实时推理引擎解析
  • 微信防撤回失效?RevokeMsgPatcher 2.0 技术原理与实战指南
  • 普宁连锁眼镜店哪家靠谱|自营和加盟的本质区别是什么 - 品牌观察

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号