c++ qt 窗口开发中 俩按钮组合 配合 显影 已解决

        

        

        在日常项目中,有这么需求,还想窗口移动,还想 右侧关闭 还能tab栏点击显影的需求,不得使用 qt模拟点击事件 进行功能优化

        特大杯  大杯  控制 窗口显影,

        咖啡 按钮  显示窗口

        可乐  豆浆  不显示窗口

        四个按钮的 互斥关系,采用 模拟点击功能 进行 功能完善

        同时不影响 窗口缩放功能!!!!!!!!!

void xxxxWidget::parentWgtMoveSlot()
{
	
	if (ui->pushButton_DeviceList->isChecked())
	{
		isDefaultOpenVideo = true;
	}
	
	if (ui->pushButton_Emergencies->isChecked())
	{
		isDefaultOpenVideo = false;
	}

	if (ui->pushButton_PatrolList->isChecked())
	{
		isDefaultOpenVideo = false;
	}
	double dScale = (m_mainWindow->isFullScreen() || m_mainWindow->isMaximized()) ? 1.0 : 0.8;

	if (ui->btn_stow->isChecked())
	{
		setFixedSize(MIN_WIDTH * dScale, MAX_HEIGHT * dScale);
	}
	else
	{
		setFixedSize(MAX_WIDTH * dScale, MAX_HEIGHT * dScale);
	}

	move(m_mainWindow->mapToGlobal(QPoint(10, 98)));

	// 隐藏 右侧 窗口
	hideRightWidget();
}

void xxxxWidget::hideRightWidget()
{
	if (!ui->btn_stow->isChecked() && !isDefaultOpenVideo)
	{
		//对pushButton实现模拟点击 模拟对 收缩窗口 点击
		//定义左键点击事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent(QEvent::MouseButtonPress, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		//定义左键释放事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent_1(QEvent::MouseButtonRelease, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		QApplication::sendEvent(ui->btn_stow, &mouseEvent);
		QApplication::sendEvent(ui->btn_stow, &mouseEvent_1);
	}

	// 右侧 按钮选中 巡查按钮也选中,模拟释放 选中 状态
	if (ui->btn_stow->isChecked() && ui->pushButton_PatrolList->isChecked())
	{
		//对pushButton实现模拟点击 模拟对 收缩窗口 点击
		//定义左键点击事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent(QEvent::MouseButtonPress, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		//定义左键释放事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent_1(QEvent::MouseButtonRelease, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		QApplication::sendEvent(ui->pushButton_PatrolList, &mouseEvent);
		QApplication::sendEvent(ui->pushButton_PatrolList, &mouseEvent_1);
	}

	// 右侧 按钮选中 事件按钮也选中,模拟释放 选中 状态
	if (ui->btn_stow->isChecked() && ui->pushButton_Emergencies->isChecked())
	{
		//对pushButton实现模拟点击 模拟对 收缩窗口 点击
		//定义左键点击事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent(QEvent::MouseButtonPress, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		//定义左键释放事件,Qt::NoModifier代表无其他修饰键被按下
		QMouseEvent mouseEvent_1(QEvent::MouseButtonRelease, QPoint(1, 1), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
		QApplication::sendEvent(ui->pushButton_Emergencies, &mouseEvent);
		QApplication::sendEvent(ui->pushButton_Emergencies, &mouseEvent_1);
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/246518.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go学习之网络编程

文章目录 网络编程1、网络编程的基本介绍2.网络编程的基础知识1)协议(tcp/ip)2)OSI与TCP/ip参考模型3)ip地址4)端口(port)介绍5)tcp socket编程的客户端和服务器端 3.socket编程快速入门4.经典项目-海量用户即时通讯系…

DevEco Studio 项目鸿蒙(HarmonyOS)资源引用(自定统和系统)

DevEco Studio 项目鸿蒙(HarmonyOS)资源引用(自定统和系统) 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、资源访问 HarmonyOS应用资源分为两类,一类是应用资源&…

kafka学习笔记--Kafka副本

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

go基础学习

用变量,之前需,先定义,该变量 一个go语言接口的模型:https://gitee.com/goku_black/go-gin-struct-test/blob/master/main.go 1、a和a区别? a是先进行取值,后进行自增。a是先进行自增,后进行取…

引用阿里图标库,不知道对应的图标是什么,可在本地显示图标ui,再也不要担心刚来不知道公司图标对应的是什么了

项目中使用了阿里的图标库,但是无法看到对应显示什么,每次都要去阿里图标库里面找 在下载下来的文件中会发现有两个文件一个是iconfont.css和iconfont.json, 这两个文件的数据可以拿到然后显示在页面上 有两个问题: 1&#xff1a…

Leetcode—230.二叉搜索树中第K小的元素【中等】

2023每日刷题(六十) Leetcode—230.二叉搜索树中第K小的元素 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nul…

Qt 文字描边(基础篇)

项目中有时需要文字描边的功能 1.基础的绘制文字 使用drawtext处理 void MainWindow::paintEvent(QPaintEvent *event) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);painter.setRenderHint(QPainter::SmoothPixmapTransform, true);painte…

机器人制作开源方案 | 智能助老机器人

作者:刘颖、王浩宇、党玉娟 单位:北京科技大学 指导老师:刘新洋、栗琳 1. 项目背景 1.1 行业背景 随着越来越多的服务机器人进入家庭,应用场景呈现多元化和专业化,机器人产业生态体系正在不断完善,服务…

re:Invent 产品体验与感受分享:Amazon ElastiCache Serverless 缓存的即时扩展

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)。 文章目录 前言产品介绍产品使用步骤1.创建缓存服务2.安全组开放访问权限…

C/C++ 有效的括号判断

题目: 给定一个只包括 (,),{,},[,]的字符串s,判断字符串是否有效。 约束: 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。…

正交调制与解调原理

一、正交调制与解调原理 /***************************************正交调制*********************************************/ 图中信道中的信号为:s(t)sR​(t)cos(w0​t)−sI​(t)sin(w0​t)(这就是正交调制后的信号) 我们可以通过傅里叶变…

UE4 UMG 颜色字体和PS对应关系

与PS中对应的是Hex sRGB色号 但是PS中采用的16进制色号为6位 UE4中的为8位 UMG制作时默认dpi为96像素/英寸,psd默认dpi是72像素/英寸。 在GUI设计时将dpi设为96,或者将72dpi下字体的字号乘以0.75,都能还原效果图中的效果。

CleanMyMac X这一款mac电脑清理垃圾文件软件好用吗?

CleanMyMac X您的 Mac。极速如新。点按一下,即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下,即可运行所有任务,让您的 Mac 保持干净、快速并得到最佳防护。CleanMyMac 是一款功能强大的 Mac 清理程序…

【数据结构和算法】移动零

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:双指针 2.2 方法二:两次遍历 2.3 方法三:一次遍历 三、…

三维成像激光雷达标定板可应用于各种领域

激光雷达技术是一种现代光学遥感技术,是传统雷达技术与现代激光技术相结合的产物,是以激光束作为信息载体,可以用振幅、相位、频率和偏振来搭载信息的雷达。 多线激光雷达则是通过多光束形成扫描平面,通过一维旋转机构实现四周的扫…

每日一博 - Cache Miss Attack

文章目录 概述解决思路缓存空值键并设置短期 TTL(生存时间)使用布隆过滤器 伪代码1. 缓存空值键并设置短期 TTLa. 缓存空值键b. 设置短期 TTL 2. 使用布隆过滤器a. 集成布隆过滤器b. 查询布隆过滤器 进一步优化系统性能的建议 概述 在缓存管理中&#x…

社交网络分析2(上):社交网络情感分析的方法、挑战与前沿技术

社交网络分析2(上):社交网络情感分析的方法、挑战与前沿技术 写在最前面1. 情感分析的基本概念社交网络情感分析的挑战与应用 情感分析研究现状2. 根据分析的对象,情感分析可以划分为哪几种类型,简要地进行说明。词汇表…

vue的slot插槽详解

目录 一、基本用法 在上面的例子中,我们在子组件中定义了一个插槽,然后在父组件中使用标签,并在标签内部放置了一个 标签作为插槽的内容。当父组件被渲染时,插槽的内容将被替换为实际传入的内容。 二、具名插槽 在上面的例子…

jmeter,csv文件参数化+断言 实现一个接口的case

1、case 及其 测试数据 注意保存文件的编码格式 id,name,limit,status,address,start_time,assert_status,assert_message 100,小米100,1000,1,某某会展中心101,2023-8-20 14:20,200,add event success ,,,,,,10021,parameter error 100,小米102,1002,1,某某会展中心103,2023-…

react经验8:使用antd的checkbox实现全选与半选控制

预期实现的效果 列表项部分选中时,checkall处于半选状态,点击checkall要么全选,要么全不选。 实现步骤 列表项类型 declare type TableRow {key: Keytitle: stringisSelected?: boolean }示范数据 const [tabledata, setTabledata] u…