Qt 鼠标左键推拽界面

代码实现:
button 返回 哪个按钮造成了此事件,buttons 返回 发生此事件时哪些按钮还处于按下状态

对于ComboBox这种控件有bug,我也不知道咋修改

private:// 记录坐标差值QPoint diff;QPoint now_pos;bool m_MouseDrag;void Dialog::mousePressEvent(QMouseEvent *event)
{if(event->button() == Qt::LeftButton) {m_MouseDrag = true;// 鼠标在全局的位置     // 界面左上角在全局的位置this->diff = event->globalPos() - this->frameGeometry().topLeft();// 如果是通过界面里的某个部件,进行拖拽移动,获取界面左上角在全局的位置是比较麻烦的// 需要用其父类来获取,直接调用parent()函数得到是Object类型,没有frameGeometry成员函数// 需要强转为父类 ((QWidget *)this->parent())->frameGeometry.topLeft()// 这里只是以父类为 QWidget 为例return;}QDialog::mousePressEvent(event);
}void Dialog::mouseMoveEvent(QMouseEvent *event)
{if(m_MouseDrag && event->buttons() == Qt::LeftButton) {QPoint now_pos = event->globalPos() - this->diff;this->move(now_pos);return;}QDialog::mouseMoveEvent(event);
}void Dialog::mouseReleaseEvent(QMouseEvent *event)
{// 释放鼠标事件(左键)if(event->button() == Qt::LeftButton){m_MouseDrag = false;return;}QDialog::mouseReleaseEvent(event);
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 俄罗斯方块

游戏规则 由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励…

如何恢复已删除的 JPG/JPEG 文件的方法深度解析!

您是否意外丢失或删除了 JPG 或 JPEG 照片?幸运的是,您可以使用照片恢复工具将它们恢复。立即获取适用于 PC 的 JPEG 恢复工具 - 照片恢复: 照片是捕捉和重温生活中特殊时刻的最佳方式。因此,当我们由于硬盘崩溃、意外格式化磁盘…

linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法

在ubuntu下安装了mysql&#xff0c;mysql以后&#xff0c;编写了第一个访问数据库的程序&#xff1a; #include <iostream> #include <string> #include <cstdlib> //for system #include <mysql.h>using namespace std;int main() {mysqlpp::Connect…

《算法通关村——透析跳跃游戏》

《算法通关村——透析跳跃游戏》 55. 跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&a…

uniapp中使用u-loadmore,loadText内容不随status改变刷新

uniapp中使用u-loadmore&#xff0c;使用情况比较复杂&#xff0c;出现loadText内容不随status改变刷新的情况&#xff0c;即当status"loading"时&#xff0c;显示的内容是loadmore或nomore的文字。 解决办法&#xff1a;添加key参数 <u-loadmore :status"…

[ROS2] --- param

1 param介绍 类似C编程中的全局变量&#xff0c;可以便于在多个程序中共享某些数据&#xff0c;参数是ROS机器人系统中的全局字典&#xff0c;可以运行多个节点中共享数据。 全局字典 在ROS系统中&#xff0c;参数是以全局字典的形态存在的&#xff0c;什么叫字典&#xff1f;…

keepalived+lvs 对nginx做负载均衡和高可用

LVS_Director KeepAlivedKeepAlived在该项目中的功能&#xff1a; 1. 管理IPVS的路由表&#xff08;包括对RealServer做健康检查&#xff09; 2. 实现调度器的HA http://www.keepalived.orgKeepalived所执行的外部脚本命令建议使用绝对路径实施步骤&#xff1a; 1. 主/备调度器…

深度解析IP应用场景API:提升风险控制与反欺诈能力

前言 在当今数字化时代&#xff0c;网络安全和用户数据保护成为企业日益关注的焦点。IP应用场景API作为一种强大的工具&#xff0c;不仅能够在线调用接口获取IP场景属性&#xff0c;而且具备识别IP真人度的能力&#xff0c;为企业提供了卓越的风险控制和反欺诈业务能力。本文将…

Java数据结构06——树

1.why: 数组&链表&树 2. 大纲 2.1前中后序 public class HeroNode {private int no;private String name;private HeroNode left;//默认为nullprivate HeroNode right;//默认为nullpublic HeroNode(int no, String name) {this.no no;this.name name;}public int …

Ubuntu编译文件安装SNMP服务

net-snmp源码下载 http://www.net-snmp.org/download.html 编译步骤 指定参数编译 ./configure --prefix/root/snmpd --with-default-snmp-version"2" --with-logfile"/var/log/snmpd.log" --with-persistent-directory"/var/net-snmp" --wi…

MinIO集群模式信息泄露漏洞(CVE-2023-28432)

前言&#xff1a;MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量&#xff0c;却拥有着不错的性能。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。 0x00 环境配置 …

html、css类名命名思路整理

开发页面时&#xff0c;老是遇到起名问题&#xff0c;越想越头疼&#xff0c;严重影响开发进度&#xff0c;都是在想名字&#xff0c;现在做一下梳理&#xff0c;统一一下思想&#xff0c;希望以后能减少这块的痛苦。 命名规则 [功能名称]__[组成部分名称]--[样式名称] 思路…

MySQL生产环境_使用SQL中的ROW_NUMBER()函数查找每个ID的最新记录

生产需求 应生产环境要求&#xff0c;需要获取到每个id的最新位置及其他GL属性 ROW_NUMBER函数 ROW_NUMBER()函数是一种窗口函数&#xff0c;可以根据指定的列对结果集中的行进行编号。通过结合PARTITION BY子句和ORDER BY子句&#xff0c;ROW_NUMBER()函数能够对数据进行分组…

空间运算设备-Apple Vision Pro

苹果以其在科技领域的创新而闻名&#xff0c;他们致力于推动技术的边界&#xff0c;这在他们的产品中表现得非常明显。他们尝试开发一项的新型突破性显示技术。在 2023 年 6 月 5 日官网宣布将发布 Apple Vision Pro 头戴空间设备&#xff0c;我们一起来了解一下 Apple Vision …

SVPWM原理及simulink

关注微♥“电击小子程高兴的MATLAB小屋”获得专属优惠 一.SVPWM原理 SPWM常用于变频调速控制系统&#xff0c;经典的SPWM控制主要目的是使变频器的输出电压尽量接近正弦波&#xff0c;并未关注输出的电流波形。而矢量控制的最终目的是得到圆形的旋转磁场&#xff0c;这样就要求…

【面试常考题目】五种方法解决“如何在n个无序数组中找出它的中位数(java)”问题

1.3 从N个数组中找到中位数&#xff0c;每一个数组可能乱序 在LeetCode上&#xff0c;"寻找多个数组的中位数"这类问题通常是由两个数组合并中位数问题&#xff08;即LeetCode第4题&#xff09;的变种或扩展。直接对应于多个数组合并后寻找中位数的题目在LeetCode上…

BeyondCompare-过期-mac电脑

在/Applications/Beyond Compare.app/Contents/MacOS/目录下的BCompare程序是BeyondCompare的可执行文件。 在 /Users/username/Library/Application Support/Beyond Compare/目录下的registry.dat文件是存储程序注册信息的。包括刚开始使用的时间。 想要无限的使用BeyondCompa…

根据图片生成前端代码:GPT vesion 助你释放效能 | 开源日报 No.98

php/php-src Stars: 36.4k License: NOASSERTION PHP 是一种流行的通用脚本语言&#xff0c;特别适合 Web 开发。快速、灵活和实用&#xff0c;PHP 支持从博客到世界上最受欢迎的网站等各种应用。PHP 遵循 PHP 许可证 v3.01 发布。 主要功能&#xff1a; 提供强大而灵活的脚…

代码随想录算法训练营 ---第五十六天

今天同样是 动态规划&#xff1a;编辑距离问题&#xff01; 第一题&#xff1a; 简介&#xff1a; 本题有两个思路&#xff1a; 1.求出最长公共子串&#xff0c;然后返还 word1.length()word2.length()-2*dp[word1.size()][word2.size()] 本思路解法与求最长公共子串相同&…

Mybatis XML改查操作(结合上文)

"改"操作 先在UserInfoXMLMapper.xml 中 : <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><map…