当前位置:   article > 正文

Qt文件信息

Qt文件信息

QFileInfo

Headers

fileinfo.h

  1. #ifndef FILEINFO_H
  2. #define FILEINFO_H
  3. #include <QWidget>
  4. namespace Ui {
  5. class FileInfo;
  6. }
  7. class FileInfo : public QWidget
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit FileInfo(QWidget *parent = 0);
  12. ~FileInfo();
  13. void getFileInfo(QString & fileName);
  14. private slots:
  15. void on_browseFileBTtn_clicked();
  16. private:
  17. Ui::FileInfo *ui;
  18. };
  19. #endif // FILEINFO_H

Sources

fileinfo.cpp

  1. #include "fileinfo.h"
  2. #include "ui_fileinfo.h"
  3. #include <QFileDialog>
  4. #include <QDateTime>
  5. FileInfo::FileInfo(QWidget *parent) :
  6. QWidget(parent),
  7. ui(new Ui::FileInfo)
  8. {
  9. ui->setupUi(this);
  10. setWindowTitle("文件信息");
  11. }
  12. FileInfo::~FileInfo()
  13. {
  14. delete ui;
  15. }
  16. void FileInfo::getFileInfo(QString &fileName)
  17. {
  18. QFileInfo info(fileName);
  19. qint64 size = info.size(); //文件大小
  20. QDateTime createTime = info.created(); //文件创建日期
  21. QDateTime lastMTime = info.lastModified(); //文件最后修改时间
  22. QDateTime lastRTime = info.lastRead(); //文件最近访问时间
  23. //文件的属性信息
  24. bool bIsDir = info.isDir(); //文件是否是目录
  25. bool BIsFile = info.isFile(); //文件是否是文件
  26. bool bIsSymLink = info.isSymLink();
  27. bool bIsHidden = info.isHidden();
  28. bool bIsReadable = info.isReadable();
  29. bool bIsWritable = info.isWritable();
  30. bool bIsExcutable = info.isExecutable();
  31. ui->FileSizeLineEidt->setText(QString::number(size));
  32. ui->FileCreateLineEdit->setText(createTime.toString());
  33. ui->FileModifyLineEdit->setText(lastMTime.toString());
  34. ui->FileReadLineEdit->setText(lastRTime.toString());
  35. ui->isDirCheckBox->setChecked(bIsDir);
  36. ui->isFileCheckBox->setChecked(BIsFile);
  37. ui->isSymLinkCheckBox->setChecked(bIsSymLink);
  38. ui->isHiddenCheckBox->setChecked(bIsHidden);
  39. ui->isWritableCheckBox->setChecked(bIsWritable);
  40. ui->isReadableCheckBox->setChecked(bIsReadable);
  41. ui->isExecutableCheckBox->setChecked(bIsExcutable);
  42. }
  43. void FileInfo::on_browseFileBTtn_clicked()
  44. {
  45. QString fileName = QFileDialog::getOpenFileName(this,
  46. "打开文件",
  47. ".",
  48. "files(*)");
  49. // QString path = QFileDialog::getExistingDirectory(this,
  50. // "选择目录",
  51. // ".");
  52. ui->FileNameLineEdit->setText(fileName);
  53. getFileInfo(fileName);
  54. }

main.cpp

  1. #include "fileinfo.h"
  2. #include <QApplication>
  3. int main(int argc, char *argv[])
  4. {
  5. QApplication a(argc, argv);
  6. FileInfo w;
  7. w.show();
  8. return a.exec();
  9. }

Forms

fileinfo.ui

运行结果 

目录:

文件:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/250838
推荐阅读
相关标签
  

闽ICP备14008679号