qt小部件位置

时间:2012-07-21 18:03:14

标签: c++ qt position

我有一个带有网格布局的主窗口,有2行8个按钮。

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

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

我试过了

QPoint p = btn->pos();

QPoint p = btn->geometry().topLeft();
由于某种原因,

都是(0,0)。如何获取在此插槽中单击的按钮的位置?

由于

1 个答案:

答案 0 :(得分:5)

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

QWidget::mapTo

  

将小部件坐标pos转换为坐标系   家长。父级必须不是0,并且必须是调用的父级   窗口小部件。