Qt的窗口设置

本文介绍Qt的窗口设置。

采用Qt开发界面程序,会涉及到窗口的设置,如窗口标题栏是否显示,是否有最小,最大化按钮等,窗口当前显示最小化,最大化等。本文简要介绍常用的窗口设置方法。

1.窗口属性

窗口属性设置主要用于设置窗口的属性,函数原型为:

cpp 复制代码
void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)

常用的属性设置如下:

|----------------------|-------------------|
| 属性 | 说明 |
| Qt::WA_DeleteOnClose | 非模态对话框创建,关闭时窗口被析构 |

2.窗口标志

窗口标志设置主要用于设置窗口的标志,这些标志与窗口的显示有关。可以使用"|"来进行组合,函数原型为:

cpp 复制代码
void setWindowFlags(Qt::WindowFlags type)

单独设置某一个标志,可以使用如下函数:

cpp 复制代码
void QWidget::setWindowFlag(Qt::WindowType flag, bool on = true)

常用的标志设置如下:

|------------------------------|---------------|
| 标志 | 说明 |
| Qt::Widget | Widget标志 |
| Qt::Window | 窗口标志 |
| Qt::Dialog | 对话框标志 |
| Qt::FramelessWindowHint | 窗口无边框 |
| Qt::CustomizeWindowHint | 关闭窗口标题栏 |
| Qt::WindowMinimizeButtonHint | 增加一个最小化按钮 |
| Qt::WindowMaximizeButtonHint | 增加一个最大化按钮 |
| Qt::WindowMinMaxButtonsHint | 增加一个最小化和最大化按钮 |
| Qt::WindowCloseButtonHint | 增加一个关闭按钮 |
| Qt::WindowShadeButtonHint | 窗口处于最上层 |
| Qt::WindowStaysOnTopHint | 窗口处于最下层 |

设置窗口标志用的还是比较多的,如对话框设置为无边框形式,可使用如下设置:

cpp 复制代码
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::CustomizeWindowHint);

3.窗口状态

窗口状态设置主要用于设置窗口的状态,窗口的状态包括窗口的最大化,最小化,正常显示等,函数原型为:

cpp 复制代码
void QWidget::setWindowState(Qt::WindowStates windowState)

常用的标志设置如下:

|----------------------|---------------|
| 状态 | 说明 |
| Qt::WindowNoState | 正常状态 |
| Qt::WindowMinimized | 最小化 |
| Qt::WindowMaximized | 最大化 |
| Qt::WindowFullScreen | 填充整个屏幕 |
| Qt::WindowActive | 活动窗口,如可接受键盘输入 |

4.窗口模态

窗口模态设置主要用于设置窗口的模态,窗口的模态包括模态窗口,非模态窗口,函数原型为:

cpp 复制代码
void setWindowModality(Qt::WindowModality windowModality)

常用的模态设置如下:

|-----------------|-----|
| 模态 | 说明 |
| Qt::NonModal | 非模态 |
| Qt::WindowModal | 模态 |

5.窗口透明度

窗口透明度设置主要用于设置窗口的透明度,它的形参为一个浮点数,取值范围为0-1,函数原型为:

cpp 复制代码
void setWindowOpacity(qreal level)

总结,本文介绍了Qt的窗口设置。

相关推荐
LDR00616 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术16 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园16 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob17 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享17 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.18 小时前
C语言--day30
c语言·开发语言
何以解忧,唯有..18 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽18 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下18 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗11118 小时前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言