qt小部件位置

qt widget position

本文关键字:位置 小部 qt      更新时间:2023-10-16

我有一个网格布局的主窗口,在两行中有8个按钮。

 ---------------------
|                     | 
| 1     2     3     4 |
|                     | 
|                     |
| 5     6     7     8 |
|                     |
 ---------------------

我试图在被点击的按钮旁边显示一个弹出对话框。所以,我试图得到连接到clicked()信号的插槽中按钮的坐标。

我试过

QPoint p = btn->pos();

QPoint p = btn->geometry().topLeft();

并且由于某种原因两者都是(0。如何获取在此插槽中单击的按钮的位置?

感谢

我认为您需要映射按钮相对于父窗口的位置。

Q idget::映射到

将小部件坐标pos转换为的坐标系父母亲父级不能为0,并且必须是调用的父级小工具。