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的窗口设置。

相关推荐
徐先生 @_@|||22 分钟前
(Wheel 格式) Python 的标准分发格式的生成规则规范
开发语言·python
利剑 -~25 分钟前
jdk源码解析
java·开发语言
Predestination王瀞潞31 分钟前
JDK安装及环境变量配置
java·linux·开发语言
lsx20240636 分钟前
Python break 语句详解
开发语言
hmbbcsm37 分钟前
python做题小记(八)
开发语言·c++·算法
wyzqhhhh1 小时前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL1 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
雷中听风1 小时前
使用字节的源安装rust
开发语言·后端·rust
特立独行的猫a2 小时前
C++开发中的Pimpl机制与类声明机制深度解析:现代C++的编译解耦艺术
开发语言·c++·pimpl