VS2022+QT6.7 窗口置灰(遮罩)

server/2024/12/29 4:54:39/

 本文章使用QWidget来使窗口置灰,使用按钮控制置灰功能的开启和关闭,同时被置灰的控件自动禁用交互功能。

    connect(ui.pushButton_open, &QPushButton::clicked, this, [=]() {    //创建无边框窗口,大小是父的大小QWidget* parentWidget = new QWidget(this, Qt::FramelessWindowHint);parentWidget->resize(this->size());parentWidget->setObjectName("widget");//设置蒙版背景色,其中140为蒙版透明度parentWidget->setStyleSheet("#widget {background-color:rgba(192, 192, 192, 140);}");//将groupBox添加到layout中。这样,groupBox就会被布局管理器管理,自动调整大小和位置QGroupBox* groupBox = ui.groupBox;QVBoxLayout* layout = new QVBoxLayout(parentWidget);layout->addWidget(groupBox);//设置groupBox背景色,跟蒙版颜色区分groupBox->setStyleSheet("QGroupBox { background-color: rgb(255, 255, 255); }");groupBox->setParent(this); //将groupBox设置为父窗口groupBox->raise();                  //将groupBox设置为顶层parentWidget->stackUnder(groupBox); //将parentWidget设置为groupBox的下层parentWidget->show();               //显示parentWidgetgroupBox->show();                   //显示groupBoxui.textEdit->append("已置灰,自动禁用交互功能!");});

 以下功能是关闭置灰,不会删除parentWidget对象

	connect(ui.pushButton__close, &QPushButton::clicked, this, [=]() {parentWidget->close();ui.textEdit->append("关闭置灰!");});

头文件如下:包含<QGroupBox>, <QVBoxLayout>头文件,定义parentWidget、groupBox、layout对象

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication1.h"
#include <QGroupBox>
#include <QVBoxLayout>class QtWidgetsApplication1 : public QMainWindow
{Q_OBJECTpublic:QtWidgetsApplication1(QWidget *parent = nullptr);~QtWidgetsApplication1();QWidget* parentWidget;QGroupBox* groupBox;QVBoxLayout* layout;
private:Ui::QtWidgetsApplication1Class ui;
};

  UI界面如下:0ef7295433504189a4463ad9a012c98d.png

效果如下:

9f100d80414e40b1bd827a0b3724a5ff.png

开启置灰

 

9646a85128184997829713994ca9d6da.png

关闭置灰

 


http://www.ppmy.cn/server/154105.html

相关文章

el-date-picker 限制选择的日期

组件使用的elementPlus <el-date-picker v-model"ruleForm.RevertDate" type"date" placeholder"选择日期" format"YYYY/MM/DD" value-format"YYYY-MM-DD" style"width: 94%" :disabled-date"pickerOptio…

STM32--看门狗

看门狗 IWDG 全称&#xff1a;independent watchdog,独立看门狗 本质&#xff1a;能产生系统复位信号的计数器 特性&#xff1a;递减的计数器。时钟由独立的RC振荡器提供&#xff08;可在待机和停止模式下运行&#xff0c;独立看门狗被激活后&#xff0c;当递减计数器计数到…

策略模式以及优化

使用场景 在一个条件语句中又包含了多个条件语句 具体策略类会过多 把抽象策略和具体策略放在一个枚举类里。 方法 exe() 相当于抽象策略&#xff0c;而A和B就相当于实现了抽象策略的具体策略 这样就只需要一个枚举类就可以解决具体策略类过多的问题 public enum Strategy {A{O…

如何用AI帮你写回忆录

随着我们国家人口已经开始老龄化&#xff0c; “银发经济” 这个词也越来越火。 简单来讲&#xff0c;随着社会老龄化加剧&#xff0c;老年人口不断增多&#xff0c;他们的需求和消费能力就形成了一个庞大的市场。代写回忆录就属于这个市场的一部分。 有些爷爷奶奶、爸爸妈妈想…

SpringCloudAlibaba实战入门之路由网关Gateway初体验(十一)

Spring Cloud 原先整合 Zuul 作为网关组件,Zuul 由 Netflix 公司提供的,现在已经不维护了。后面 Netflix 公司又出来了一个 Zuul2.0 网关,但由于一直没有发布稳定版本,所以 Spring Cloud 等不及了就自己推出一个网关,已经不打算整合 zuul2.0 了。 一、什么是网关 1、顾明…

云边端一体化架构

云边端一体化架构是一种将云计算、边缘计算和终端设备相结合的分布式计算模型。该架构旨在通过优化资源分配和数据处理流程&#xff0c;提供更高效、更低延迟的服务体验。 下面是对这个架构的简要说明&#xff1a; 01云计算&#xff08;Cloud Computing&#xff09; — 作为中心…

Docker Container 可观测性最佳实践

Docker Container 介绍 Docker Container&#xff08; Docker 容器&#xff09;是一种轻量级、可移植的、自给自足的软件运行环境&#xff0c;它在 Docker 引擎的宿主机上运行。容器在许多方面类似于虚拟机&#xff0c;但它们更轻量&#xff0c;因为它们不需要模拟整个操作系统…

【数据结构】数据结构整体大纲

数据结构用来干什么的&#xff1f;很简单&#xff0c;存数据用的。 &#xff08;这篇文章仅介绍数据结构的大纲&#xff0c;详细讲解放在后面的每一个章节中&#xff0c;逐个击破&#xff09; 那为什么不直接使用数组、集合来存储呢 ——> 如果有成千上亿条数据呢&#xff…