QT:设置子窗口显示在父窗口的位置(绝对坐标)


故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不是很理想,就是想弹到相对父窗体的位置,开始咱们的探险之路。。。

解决方案:因为之前了解过坐标系相关的概念,就从这个方向出发

     1.获取父窗口相对于屏幕的坐标,即绝对坐标
     2.计算子窗口的坐标
     3.移动窗口

代码有话说:

        QPoint globalPos = this->mapToGlobal(QPoint(0, 0));
        pDlg->move(globalPos.x() + 200, globalPos.y() + 100);

 

 

虽然只是一个小小的功能,还是需要能帮助到更多的人,提供一个小小的思路,大家可以进行扩展!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM