Qt中,如何找准控件坐标

 时间:2026-02-14 19:01:39

1、实现:

需要对qt的坐标有了解:

QPoint QWidget::mapToParent(const QPoint & pos) const

QPoint QWidget::mapTo(const QWidget * parent, const QPoint & pos) const

QPoint QWidget::mapToGlobal(const QPoint & pos) const

A、这三个函数都应该是控件的父窗口对象才能调用的,不应该是控件本身调用。

B、控件的父窗口应该是QFrame、QWidget,但不能是QLayout之类。

2、代码如下:

void TestWidget::on_pushButton123_clicked()  

{      

     QPoint p = ui.pushButton123->pos();//获得pushButton123在父窗口(frame_2)中的相对坐标,值为[10,10]      

     QPoint pos1 = ui.frame_2->mapTo(this, ui.pushButton123->pos());//将父窗口(frame_2)中的按钮坐标,转换成当前窗口(TestWidget)的坐标,值为[40,120]      

     QPoint pos1_1 = ui.pushButton123->mapTo(this, ui.pushButton123->pos());//错误方法,值为[50,130]     

      QPoint pos2 = ui.frame_2->mapToParent(ui.pushButton123->pos());//错误方法,值为[40,120]      

     QPoint pos2_1 = ui.pushButton123->mapToParent(ui.pushButton123->pos());//错误方法,值为[20,20]      

     QPoint pos3 = ui.frame_2->mapToGlobal(ui.pushButton123->pos());//错误方法,值为[300,333]     

      QPoint pos3_1 = ui.pushButton123->mapToGlobal(ui.pushButton123->pos());//错误方法,值为[310,343]  

}  

3、最终实验结果:

Qt中,如何找准控件坐标

Qt中,如何找准控件坐标

  • 如果提高员工的工作热情
  • 淡奶泡芙的做法
  • windows 7 产品密钥?
  • java中manggodb怎么配置
  • RMAN如何创建恢复目录
  • 热门搜索
    路由器接路由器 我的世界如何联机 怎么治疗痘疤 苏州市旅游景点 如何改路由器密码 明天天气如何 郑州旅游团 老挝旅游 迪拜旅游公司 库尔勒旅游