Qt:WindowFlags
#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->fileSizeLineEdit->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_browseFileBtn_clicked()
{
QString path = QFileDialog::getExistingDirectory(this,
"选择目录",
".");
ui->fileNameLineEdit->setText(path);
getFileInfo(path);
}
#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_browseFileBtn_clicked();
private:
Ui::FileInfo *ui;
};
#endif
#include "fileinfo.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
FileInfo w;
w.show();
return a.exec();
}
Qt:WindowFlags | 释义 |
---|
Qt::Widget | QWidget构造函数的默认值,如果新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件。另请参见Qt :: Window和Qt :: SubWindow。 |
Qt::Window | 无论是否有父窗口部件,新窗口部件都是一个窗口,通常有一个窗口边框和一个标题栏 。请注意,如果部件没有父控件,则无法取消设置此标记(即如果存在父控件,则可以取消此标记,否则,必须存在此标记用以标识此控件是个独立窗口)。 |
Qt:: Dialog | 新窗口部件是一个对话框,它是QDialog构造函数的默认值。如果要将其用作模态对话框,则应从另一个窗口启动它,或者如果有父窗口,则与QWidget::windowModality属性一起使用。如果将其设置为模态,则对话框将阻止应用程序中的其他顶级窗口获取任何输入。我们将具有父级的顶级窗口称为辅助窗口。 |
Qt::Sheet | 新窗口部件是一个Macintosh表单(sheet) 。由于使用工作表意味着窗口模态,推荐的方法是使用QWidget :: setWindowModality()或QDialog :: open()。 |
Qt:: Drawer | 新窗口部件是一个Macintosh抽屉(drawer) |
Qt::Popup | 新窗口部件是一个弹出式顶层窗口 |
Qt::Tool | 新窗口部件是一个工具(tool)窗口,它通常是一个用于显示工具按钮的小窗口。如果一个工具窗口有父窗口部件,则它将显示在父窗口的部件上面,否则相当于使用了Qt::WindowStaysOnTopHin |
Qt::ToolTip | 表示窗口小部件是工具提示。 这在内部用于实现工具提示,没有标题栏和窗口边框。 |
Qt:: Desktop | 新窗口部件是桌面,它是QDesktopWidget构造函数的默认值 |
Qt::SplashScreen | 新窗口部件是一个欢迎窗口,它是SplashScreen构造函数的默认值。 |
Qt::SubWindow | 新窗口部件是一个子窗口,而无论窗口部件是否有父窗口部件。此外,Qt还定义了一些控制窗口外观的窗口提示(这些窗口提示仅对顶层窗口有效) |
Qt::ForeignWindow | 指示此窗口对象是表示由另一个进程创建的本机平台窗口或手动使用本机代码的句柄。 |
Qt::CoverWindow | 表示该窗口代表一个封面窗口,例如,当应用程序在BlackBerry平台上最小化时显示。 |
Qt::MSWindowFiredSizeDialogHint | 为Windows系统上的窗口装饰一个窄的对话框边框,通常这个提示用于固定大小的对话框 |
Qt::MSWindowOwnDC | 为Windows系统上的窗口添加自身的显示上下文菜单 |
Qt::BypassWindowManagerHint | 此标志可用于向平台插件指示应禁用“所有”窗口管理器协议。 此标志的行为会有所不同,具体取决于运行应用程序的操作系统以及正在运行的窗口管理器。 该标志可用于获取没有配置集的本机窗口。 |
Qt::X11BypassWindowManagerHint | 完全忽视窗口管理器,它的作用是产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow()函数) |
Qt::FramelessWindowHint: | 产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变它的大小 |
Qt::NoDropShadowWindowHint | 在支持平台上禁用窗口投影 |
Qt::CustomizeWindowHint | 关闭默认的窗口标题提示 |
Qt::WindowTitleHint | 为窗口装饰一个标题栏 |
Qt::WindowSystemMenuHint | 为窗口添加一个窗口系统系统菜单,并尽可能地添加一个关闭按钮 |
Qt::WindowMinimizeButtonHint | 为窗口添加一个“最小化”按钮 |
Qt::WindowMaximizeButtonHint | 为窗口添加一个“最大化”按钮 |
Qt::WindowCloseButtonHint | 为窗口添加一个“关闭”按钮 |
Qt::WindowMinMaxButtonHint | 为窗口添加一个“最小化”按钮 和一个“最大化”按钮 |
Qt::WindowContextHelpButtonHint | 为窗口添加一个“上下文帮助”按钮 |
Qt::WindowStaysOnTopHint | 告知窗口系统,该窗口应该停留在所有其他窗口的上面 |
Qt::WindowType_Mask | 一个用于提示窗口标识的窗口类型部分的掩码 |