提取QToolButton小组件的顶角位置

时间:2014-05-24 06:08:53

标签: c++ qt

我正在尝试提取工具按钮的坐标。因此,当有弹出窗口时,它总是从小部件的左上角开始。我正在做这样的事情

menu_something->popup(mapToGlobal(ui.toolButton->pos()));

然而,菜单显示没有靠近toolButton的位置。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用QDialog运行(可推送且可样式的ComboBox对话框): 通过在QToolButton的子类中调用它来获取坐标

QPoint mypoint = QWidget::mapToGlobal(QPoint(0,0));

并使用

QRect myrect;
myrect.setCoords(topleft.x(),topleft.y(),topleft.x()+width,10);
YourPopupDialog.setGeomentry(myrect);
YourPopupDialog.setFocus();
YourPopupDialog.show();

将对话框放在按钮上。

编辑用于在插槽中运行的QMenu被点击():

QMenu menu;
menu.addAction("Text 0");
menu.addAction("Text 1");

menu.exec(ui->toolButtonMenuButton->mapToGlobal(QPoint(0,0)));