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

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

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

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

我希望得到綠色部分的坐標(biāo)信息(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;
	}
}

假設(shè)

綠色窗體為w

最外面的窗體為m

get_pos(w,m);

附:在實(shí)現(xiàn)一個(gè)可以自由拖動(dòng)位置的widget時(shí)

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

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

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

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

在坐標(biāo)位置變換時(shí)注意下不同坐標(biāo)系的坐標(biāo)軸原點(diǎn)差異,就能靈活應(yīng)對了。

總結(jié) 

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    C++ Boost Lockfree超詳細(xì)講解使用方法

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

益阳市| 青铜峡市| 西盟| 台中县| 丰宁| 新丰县| 北海市| 凤台县| 都昌县| 克山县| 浦江县| 行唐县| 收藏| 朝阳市| 星座| 铜山县| 景谷| 双峰县| 德惠市| 谢通门县| 乌海市| 炉霍县| 阜宁县| 年辖:市辖区| 凉城县| 特克斯县| 汉阴县| 晴隆县| 沈阳市| 苍南县| 衡东县| 尼勒克县| 铁岭市| 临泉县| 安化县| 曲水县| 西藏| 莱西市| 恩平市| 南漳县| 巍山|