最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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*/
    }
}

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

總結(jié) 

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

相關文章

  • C語言實現(xiàn)文件內(nèi)容按行隨機排列的算法示例

    C語言實現(xiàn)文件內(nèi)容按行隨機排列的算法示例

    這篇文章主要介紹了C語言實現(xiàn)文件內(nèi)容按行隨機排列的算法,涉及C語言字符串、數(shù)組遍歷與隨機數(shù)相關算法實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • C語言單鏈隊列的表示與實現(xiàn)實例詳解

    C語言單鏈隊列的表示與實現(xiàn)實例詳解

    這篇文章主要介紹了C語言單鏈隊列的表示與實現(xiàn),對于研究數(shù)據(jù)結(jié)構與算法的朋友來說很有參考借鑒價值,需要的朋友可以參考下
    2014-07-07
  • 使用opencv實現(xiàn)車道線檢測實戰(zhàn)代碼

    使用opencv實現(xiàn)車道線檢測實戰(zhàn)代碼

    這篇文章主要介紹了opencv車道線檢測實戰(zhàn),效果非常逼真,代碼簡單易懂,對opencv車道線檢測實戰(zhàn)代碼感興趣的朋友一起看看吧
    2022-03-03
  • C語言入門篇--初識C語言及數(shù)據(jù)類型

    C語言入門篇--初識C語言及數(shù)據(jù)類型

    本篇文章是c語言基礎篇,主要為大家介紹了C語言的基本類型,為大家介紹了什么是C語言,希望可以幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08
  • C++ Boost Lockfree超詳細講解使用方法

    C++ Boost Lockfree超詳細講解使用方法

    Boost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發(fā)引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • C++ boost庫的安裝過程詳解

    C++ boost庫的安裝過程詳解

    這篇文章主要介紹了C++ boost庫的安裝過程詳解,文中通過示例代碼和圖片介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 深入理解C++中的new和delete并實現(xiàn)對象池

    深入理解C++中的new和delete并實現(xiàn)對象池

    這篇文章主要介紹了C++中的new和delete并實現(xiàn)對象池,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • C++編程面向?qū)ο笕腴T全面詳解

    C++編程面向?qū)ο笕腴T全面詳解

    這篇文章主要為大家介紹了C++面向?qū)ο笕腴T的全面詳解,文章較長非常全面建議收藏閱讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • C語言堆棧幀的介紹與創(chuàng)建

    C語言堆棧幀的介紹與創(chuàng)建

    這篇文章主要給大家介紹了關于C語言堆棧幀的相關資料,堆棧幀 (stack frame)( 或活動記錄 (activation Tecord)) 是一塊堆棧保留區(qū)域,用于存放被傳遞的實際參數(shù)、子程序的返回值、局部變量以及被保存的寄存器,需要的朋友可以參考下
    2021-08-08
  • 數(shù)據(jù)結(jié)構串的操作實例詳解

    數(shù)據(jù)結(jié)構串的操作實例詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構串的操作實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07

最新評論

修文县| 黄石市| 栾川县| 阜新市| 开江县| 南乐县| 松江区| 水富县| 扎兰屯市| 康平县| 孝感市| 开阳县| 忻城县| 中山市| 通榆县| 平泉县| 灵丘县| 平定县| 白玉县| 阜城县| 高安市| 乐都县| 丰台区| 哈巴河县| 永丰县| 普陀区| 唐海县| 六安市| 盈江县| 凯里市| 永定县| 始兴县| 轮台县| 牡丹江市| 宁明县| 尖扎县| 兴隆县| 大丰市| 绵竹市| 大英县| 普安县|