QT上下文菜单未与光标对齐

时间:2019-04-13 22:56:09

标签: c++ qt qt5 contextmenu qlistwidget

当我右键单击时,会出现一个上下文菜单,但它与光标不对齐。我希望上下文菜单的角出现在光标所在的位置。在这里,您可以看到它离右边很远:

enter image description here

以下是显示上下文菜单的方法:

void MainWindow::on_listWidget_customContextMenuRequested(const QPoint &pos)
{

    QMenu menu("contextMenu", this);
    QAction deleteItem("Delete", this);
    menu.addAction(&deleteItem);
    connect(&deleteItem, SIGNAL(triggered()), this, SLOT(deleteItem()));
    menu.exec(mapToGlobal(pos)); 

}

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

pos变量相对于viewport()的{​​{1}},因此您必须使用QListWidget的{​​{1}}方法:

mapToGlobal()