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

相关推荐
MATLAB代码顾问14 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
万粉变现经纪人16 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒16 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼16 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
小郑加油17 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
AC赳赳老秦17 小时前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
KuaCpp17 小时前
C++面向对象(速过复习版)
开发语言·c++
wbs_scy18 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
2zcode18 小时前
基于MATLAB元胞自动机(CA)的AZ80A镁合金动态再结晶(DRX)过程模拟
开发语言·matlab·动态再结晶
iCxhust18 小时前
微机原理实践教程(C语言篇)---A001闪烁灯
c语言·开发语言·汇编·单片机·嵌入式硬件·51单片机·微机原理