Qt:WindowFlags

Posted Respect@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt:WindowFlags相关的知识,希望对你有一定的参考价值。

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 fileName = QFileDialog::getOpenFileName(this,
//                                                    "打开文件",
//                                                    ".",
//                                                    "files(*)");
    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 // FILEINFO_H

#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::WidgetQWidget构造函数的默认值,如果新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件。另请参见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一个用于提示窗口标识的窗口类型部分的掩码

以上是关于Qt:WindowFlags的主要内容,如果未能解决你的问题,请参考以下文章

Qt::WindowFlags枚举类型(对Qt::Widget Qt::Window Qt::Dialog分别讲解,其中Qt::Widget是两用的,如新的窗口部件没有父窗口部件,则它是一个独立的窗口

Qt中如何利用 png 图片来实现自定义形状的窗口

Qt中子窗口全屏显示与退出全屏

如何永久删除主窗口标题栏?

微信小程序代码片段

VSCode自定义代码片段——CSS选择器