Qt如何通過pos()獲取坐標(biāo)信息
背景:這是一個(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ù)組遍歷與隨機(jī)數(shù)相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
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í)戰(zhàn),效果非常逼真,代碼簡單易懂,對opencv車道線檢測實(shí)戰(zhàn)代碼感興趣的朋友一起看看吧2022-03-03
C語言入門篇--初識(shí)C語言及數(shù)據(jù)類型
本篇文章是c語言基礎(chǔ)篇,主要為大家介紹了C語言的基本類型,為大家介紹了什么是C語言,希望可以幫助大家快速入門c語言的世界,更好的理解c語言2021-08-08
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++中的new和delete并實(shí)現(xiàn)對象池
這篇文章主要介紹了C++中的new和delete并實(shí)現(xiàn)對象池,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
數(shù)據(jù)結(jié)構(gòu)串的操作實(shí)例詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)串的操作實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07

