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