当前位置: 首页 > news >正文

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

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

 

http://www.hskmm.com/?act=detail&tid=30386

相关文章:

  • 排列组合 容斥 总结
  • 10.13每日总结
  • 新学期每日总结(第7天)
  • 20232422 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Day 9
  • 14 10.13
  • 日志|前端框架Vue
  • oop.shiyan1
  • 玄机——第一章 应急响应-Linux日志分析 wp
  • 第四周第五天4.5
  • 深入解析:flutter AudioPlayer的使用问题及处理
  • 11 10.10
  • 12 10.11
  • P3330 [ZJOI2011] 看电影
  • 20232315 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 地址
  • CSP-S 2025 提高级模拟赛 Day6 复盘 B.连通子图
  • 新手村程序
  • Android Camera openCamera - 教程
  • 信号与系统
  • 大作业第一阶段验收小组集体加5分 -
  • 业务定义与指标体系搭建
  • Linux使用笔记
  • [Vulhub靶机]W1R3S靶机渗透
  • 基于zynq实现一个边缘识别视频流(预学习HLS篇)
  • 咬鼠
  • 10月13日日记
  • 分享一个知乎高赞回答生成AI指令:让技术人也能写出有深度的回答
  • 实用指南:C语言速成秘籍——循环结构(while、do while、for)和跳转语句(break,continue)
  • 描述https的加密过程