QFileInfo使用整理
来源:互联网 发布:64码高清网络电视 手机 编辑:程序博客网 时间:2024/05/17 16:54
1.效果图
2.源代码
fileinfo.h
#ifndef FILEINFO_H#define FILEINFO_H#include <QDialog>#include <QLabel>#include <QLineEdit>#include <QPushButton>#include <QCheckBox>class FileInfo : public QDialog{ Q_OBJECTpublic: FileInfo(QWidget *parent = 0,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; 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){ //界面布局 //begin 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("执行")); 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,1,2); gridLayout->addWidget(createTimeLabel,2,0); gridLayout->addWidget(createTimeLineEdit,2,1,1,2); gridLayout->addWidget(lastModifiedLabel,3,0); gridLayout->addWidget(lastModifiedLineEdit,3,1,1,2); gridLayout->addWidget(lastReadLabel,4,0); gridLayout->addWidget(lastReadLineEdit,4,1,1,2); 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); //end 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.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);}
阅读全文
0 0
- QFileInfo使用整理
- QDir和 QFileInfo使用
- QFileInfo
- 使用QFileInfo类获取文件信息
- QT使用QFileInfo类来获取文件信息
- QT::QFileInfo
- QFileInfo类笔记
- QFileInfo的简单用法
- QFileInfo的简单用法
- QFileInfo的简单用法
- QFileInfo获取文件信息
- QFileInfo获取路径
- QFileInfo Class 用法
- QFileInfo 的文件名提取问题
- QFileInfo类的简单用法
- qt:QFileInfo的简单用法
- QT Qfileinfo类的介绍
- Qt文件信息获取之QFileInfo
- Windows常用网络命令
- wireshark抓包遇到了ip total len = zero
- #100天计划#Day01------计算机语言的发展史
- 如何在Windows server上使用Node.js正常运行ZMQ库
- 整数的2的幂分解
- QFileInfo使用整理
- Oracle IN条件包含查询出来的列表和固定值的查询语句
- Ubuntu网络配置
- const和指针
- 使用.NET Reflector单步调试编译好的程序集
- C++ primer 读书笔记一
- UVA 11583 Partitioning by Palindromes (区间DP)
- BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组
- 设计模式(4)--原型模式