欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt如何通過pos()獲取坐標信息

 更新時間:2024年01月05日 11:32:10   作者:lpl輕舟已過萬重山  
這篇文章主要給大家介紹了關于Qt如何通過pos()獲取坐標信息的相關資料,文中通過代碼介紹的非常詳細,對大家學習或者使用qt具有一定的參考借鑒價值,需要的朋友可以參考下

背景:這是一個QWidget窗體,里面是各種布局的組合,一層套一層。

我希望得到綠色部分的坐標信息(x,y)

QPoint get_pos(QWidget* w, QWidget* parent)
{
	if ((QWidget*)w->parent() == parent) {
		return w->pos();
	}
	else {
		QPoint pos(w->pos());
		pos += get_pos((QWidget*)w->parent(), parent);
		return pos;
	}
}

假設

綠色窗體為w

最外面的窗體為m

get_pos(w,m);

附:在實現(xiàn)一個可以自由拖動位置的widget時

void ShadowWidget::mousePressEvent(QMouseEvent *event)
{
    if (event->button() == Qt::LeftButton && !mouse_press) {
        mouse_press = true;
    }

    //窗口移動距離
    orig_point = event->globalPos();
    orig_pos = pos() ;
}

void ShadowWidget::mouseReleaseEvent(QMouseEvent *)
{
    if (mouse_press) {
        mouse_press = false;
    }
}

void ShadowWidget::mouseMoveEvent(QMouseEvent *event)
{
    //移動窗口
    if (mouse_press) {
        QPoint move_point = event->globalPos();
        move(move_point - orig_point  + orig_pos );  
        /*move是相對于桌面系統(tǒng)來移動widget,所以是相對于移動前
        widget在桌面系統(tǒng)的位置上來進行的,
        所以要加上orig_pos*/
    }
}

在坐標位置變換時注意下不同坐標系的坐標軸原點差異,就能靈活應對了。

總結 

到此這篇關于Qt如何通過pos()獲取坐標信息的文章就介紹到這了,更多相關Qt pos()獲取坐標內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++中復制構造函數(shù)和重載賦值操作符總結

    C++中復制構造函數(shù)和重載賦值操作符總結

    這篇文章主要介紹了C++中復制構造函數(shù)和重載賦值操作符總結,本文對復制構造函數(shù)和重載賦值操作符的定義、調用時機、實現(xiàn)要點、細節(jié)等做了總結,需要的朋友可以參考下
    2014-10-10
  • 一文搞懂Codec2解碼組件

    一文搞懂Codec2解碼組件

    這篇文章主要介紹了Codec2解碼組件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Qt中鼠標點擊的幾種狀態(tài)

    Qt中鼠標點擊的幾種狀態(tài)

    在Qt中,鼠標點擊按鈕通常會觸發(fā)一系列的事件,包括pressed、released、clicked等,本文主要介紹了Qt中鼠標點擊的幾種狀態(tài),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • C語言實現(xiàn)一個簡易通訊錄

    C語言實現(xiàn)一個簡易通訊錄

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)一個簡易通訊錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • QT+OpenCV實現(xiàn)錄屏功能

    QT+OpenCV實現(xiàn)錄屏功能

    這篇文章主要為大家詳細介紹了QT+OpenCV實現(xiàn)錄屏功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • c++ vector模擬實現(xiàn)代碼

    c++ vector模擬實現(xiàn)代碼

    vector是C++ STL中一個非常重要的容器,了解 vector 的底層實現(xiàn)原理,可以很好的幫助我們更加熟練的使用vector。這篇文章通過實例代碼給大家介紹c++ vector模擬實現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2020-02-02
  • 全局靜態(tài)存儲區(qū)、堆區(qū)和棧區(qū)深入剖析

    全局靜態(tài)存儲區(qū)、堆區(qū)和棧區(qū)深入剖析

    在C++中,內存可分為系統(tǒng)數(shù)據區(qū),自由存儲區(qū),文本區(qū),const數(shù)據區(qū),全局靜態(tài)區(qū),堆區(qū)和棧區(qū)
    2012-11-11
  • opencv利用矩形框選中某一區(qū)域并保存為新圖片

    opencv利用矩形框選中某一區(qū)域并保存為新圖片

    這篇文章主要為大家詳細介紹了opencv利用矩形框選中某一區(qū)域并保存為新圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C語言重難點之內存對齊和位段

    C語言重難點之內存對齊和位段

    這篇文章主要介紹了C語言重難點之內存對齊和位段,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • C語言中調用匯編語言詳解

    C語言中調用匯編語言詳解

    這篇文章主要介紹了C語言中調用匯編語言,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-10-10

最新評論