QT 上下文菜单未与光标对齐
QT context menu not aligned with cursor
当我右键单击时,会出现一个上下文菜单,但它没有与光标对齐。我希望上下文菜单的角出现在光标所在的位置。在这里你可以看到它在右边很远:
这是显示上下文菜单的方法:
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));
}
感谢您的帮助!
pos
变量是相对于QListWidget
的viewport()
所以必须使用QListWidget
的mapToGlobal()
方法:
menu.exec(ui->listWidget->viewport()->mapToGlobal(pos));
当我右键单击时,会出现一个上下文菜单,但它没有与光标对齐。我希望上下文菜单的角出现在光标所在的位置。在这里你可以看到它在右边很远:
这是显示上下文菜单的方法:
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));
}
感谢您的帮助!
pos
变量是相对于QListWidget
的viewport()
所以必须使用QListWidget
的mapToGlobal()
方法:
menu.exec(ui->listWidget->viewport()->mapToGlobal(pos));