qt中调整弹出框的位置

提要

在程序中点击按钮,有时在边缘弹出的弹出框,不能全部展示在用户的面前,弹出框显示的位置会超过程序的边界,从而看不到完整的弹出框,这时可以菜取设置弹出框可以按下鼠标拖动来使其不被遮住,或者在弹出框谈除的位置处,判断使否炒过了程序的边界,若超过了程序的边界,则需要进行位置换算,调整一下显示的位置。

实现

下面以一个例子中下边和右边的边界处弹出框被遮挡,从而采用了调整显示的位置来显示弹出框,使其能正常显示在使用者面前而不被遮挡。以下是实现。

 if(m_configName != nullptr){//判断窗口的位置,进行调整,使其显示不用拖动2021-5-25int x,y;if(cursor().pos().x() + m_configName->size().width() > BASE_W){x = BASE_W - m_configName->size().width();}else{x = cursor().pos().x();}if(cursor().pos().y() + m_configName->size().height() > BASE_H){y = BASE_H - m_configName->size().height();}else{y = cursor().pos().y();}m_configName->setGeometry(x,y,m_configName->size().width(),m_configName->size().height());//点击按钮出现在按钮点击处,对话框本身可以拖动
//        m_configName->setGeometry(cursor().pos().x(),cursor().pos().y() - 10,m_configName->size().width(),m_configName->size().height());m_configName->show();}```
以上是弹出框m_configName的位置调整代码,正常情况,弹出框显示在鼠标点击处,若是点击的是程序边缘的按钮,此时会调整弹出框显示的位置,使其能正常显示,不被遮挡。

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

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

相关文章

一分钟弄懂什么是分布式和微服务

微服务是架构设计方式,分布式是系统部署方式,两者概念不同 一、微服务 1、简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。 2、这个服务可以单独部署运行,服务之间可以通过RPC来相互交互…

git status查看文件的状态

提要 通过git status查看文件的状态时,出现了一些如下的提示: jidfjDESKTOP-2DAKPIL MINGW64 /g/excise/zhushouProject/ZhuShou (master) $ git status On branch master Your branch is behind origin/master by 8 commits, and can be fast-forward…

Centos7 Docker镜像操作_入门试炼02

文章目录一、镜像操作常用命令二、镜像基础操作2.1. 删除所有镜像2.2. 列出镜像2.3. 搜索镜像2.4. 拉取镜像2.5. 查看所有镜像2.6. 镜像加速器2.7. 删除指定镜像2.8. 列出所有镜像ID2.9. 删除所有镜像一、镜像操作常用命令 说明命令列出docker下的所有镜像docker images列出所…

虚拟化精华问答 | 如何为虚拟机分配任务?

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。今天就让我们来看看关于虚拟化的精华问答吧。1Q:在一台特定的服务器上,每一个虚拟机是否可以运行任何版本的Windows?A:服务器虚拟化对于你在每一个虚拟机…

Centos7 Docker容器操作_入门试炼03

文章目录一、容器常用命令二、查看容器2.1. 查看正在运行容器2.2. 查看所有的容器(启动过的历史容器)2.3. 查看最后一次运行的容器2.4. 查看停止的容器三、容器创建和运行3.1. 交互式容器和守护式容器的区别3.2. 目录映射3.3. 交互式容器(不建议使用)3.4…

微软日本将试行“上4休3”制度;苹果专卖店人脸识别误把学生当盗贼;腾讯在泰国推出了当地首个AI云平台……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 联想 Z6 Pro(图片…

无标题栏窗口的实现拖动,和边的拉伸功能

本文的功能实现,参考了链接:https://blog.csdn.net/Ternence_God/article/details/100150377,图片也是来自其。 引言 创建的程序采用系统窗口,直接可以进行拖动,向八个方向拉伸,一旦设置窗口无标题栏&…

Centos7 Docker 文件拷贝_入门试炼04

前提:容器服务必须启动才可以进行文件拷贝 一、常用命令 需求宿主机某一文件/目录->>容器内部docker cp 需要拷贝的文件或目录 容器名称:容器目录容器内部某一文件/目录->>宿主机docker cp 容器名称:容器内目录/文件 宿主机目录/文件 docker cp 容器名…

数据库之战 | 寻找你心中的数据库漫威英雄

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者:S.L.Cloud转自:京东云开发者社区《复仇者联盟4-终局之战》…

qt中event->globalPos()与pos()

理解 event->globalPos() 事件触发点相对于桌面的位置; pos() 程序相对于桌面左上角的位置,实际是窗口的左上角坐标。 下面是通过图示更加清楚的表明上述的解释: 红点所在处即为窗口左上角的坐标pos(); 若鼠标在程序窗口中点…

Centos7 Docker 目录挂载_入门试炼06

文章目录一、目录挂载格式二、需求实战2.1. 目录挂载2.2. 测试目录挂载_同步文件2.3. 测试目录挂载_同步文件夹一、目录挂载格式 我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响…

git查看之前的提交日志

提要 使用git指令查看当前项目在这之前所有人提交的记录,可以使用tig指令。 在命令行输入:tig,然后回车。 出现之前所有人在此项目下的提交信息。按q键退出。 还可以使用指令git log,然后回车,可以查看当天最近的几次提交记录。退出的时候…

Centos7 Docker查看容器IP地址_入门试炼07

一、查看容器IP地址 1. 查看容器运行的各种数据 docker inspect mycentos32. 查看容器ip docker inspect --format{{.NetworkSettings.IPAddress}} mycentos3获取其他信息,找到获取信息的节点,同理 执行docker inspect mycentos3后的所有内容&#x…

Elastic Jeff Yoshimura:开源正在开启新一轮的创新 | 人物志

戳蓝字“CSDN云计算”关注我们哦!人物志:观云、盘点、对话英雄。以云计算风云人物为核心,聚焦个人成长、技术创新、产业发展,还原真实与鲜活!“从我们的角度来说,开源正在开启新一轮的创新。”在首次中国举…

qt在窗口的子部件中绘制矩形

引言 在窗口中绘制矩形,只需重写paintEvent()函数,在重回函数中实现绘制矩形便可。但在窗口的某一个子部件中实现绘制矩形,此时就需重写事件过滤函数,在指定的子部件的绘图事件实现绘制矩形。 结构 窗口部件的组成如下图&#…

Centos7 Docker 删除容器_入门试炼08

说明命令删除指定的容器格式docker rm $CONTAINER_ID/NAME删除容器指定容器名称docker rm mycentos3删除容器指定容器iddocker rm 90913daea673 注意,只能删除停止的容器 效果图: #删除所有容器 docker rm docker ps -a -q删除所有容器的原理&#xff…

Spark精华问答:DataFrame与RDD的主要区别在哪?

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。目前的热度已经超过Hadoop,正所谓青出于蓝而胜于蓝,今天我们就来看看关于park 的精华问答吧。1Q:DataFrame是什么?A:DataFrame是一种以RDD为基础的分布式数据集,类…

qt的项目中单个文件加载样式表

引言 编写一个项目后,通过加载样式表来设置项目中的所有控件的样式,我之前习惯的是在main.cpp文件中加载一个样式表,该样式表含有程序中所有控件的样式,也就是整个程序只需要加载一遍样式文件。但是多人开发时,不合理…

Centos7 使用Docker MySQL部署_01

文章目录Docker MySQL部署Docker MySQL部署 #1.拉取mysql镜像 docker pull mysql #2.查看拉取的mysql镜像 docker images#3.创建MySQL容器 docker run -di --name ly_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql注:-p 代表端口映射,格式为 …

“自带大屏”的便利店,你见过吗?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下! 平常,便利店倒是见过很多,但是“自带大屏”的便利店&#xf…