我正在尝试提取工具按钮的坐标。因此,当有弹出窗口时,它总是从小部件的左上角开始。我正在做这样的事情
menu_something->popup(mapToGlobal(ui.toolButton->pos()));
然而,菜单显示没有靠近toolButton的位置。有什么建议吗?
答案 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)));