QT:设置子窗口显示在父窗口的位置(绝对坐标)
故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不是很理想,就是想弹到相对父窗体的位置
解决方案:因为之前了解过坐标系相关的概念,就从这个方向出发
1.获取父窗口相对于屏幕的坐标,即绝对坐标
2.计算子窗口的坐标
3.移动窗口
QPoint globalPos = this->mapToGlobal(QPoint(0, 0));
pDlg->move(globalPos.x() + 200, globalPos.y() + 100);
本文介绍了如何在QT中精确控制子窗口相对于父窗口的位置进行显示。通过获取父窗口相对于屏幕的绝对坐标,计算子窗口的坐标,并调用`move()`函数移动窗口,实现了子窗口在父窗口指定位置200像素偏右,100像素偏下显示的效果。这种方法避免了使用QDesktopWidget或QCursor带来的定位问题。
&spm=1001.2101.3001.5002&articleId=128498726&d=1&t=3&u=a4dad3e0c6204b2daedbb5854ad41397)
914

被折叠的 条评论
为什么被折叠?



