我正在使用 QListView 来显示 friend 的姓名列表。当我点击一个名字时,它应该选择一个名字并显示个人资料相关信息,右键单击它需要显示上下文菜单而不选择名字和显示个人资料信息。我面临的问题是右键单击它选择名称并显示上下文菜单。我不希望在右键单击时选择名称,只应显示上下文菜单。我正在使用 Qt 上下文菜单事件,例如:
void contextMenuEvent(QContextMenuEvent *ce)
{
QPoint pos = ce->pos();
emit customContextMenuRequested(pos);
}
这不起作用,并且永远不会调用上述插槽。
最佳答案
使用 mousePressEvent 并处理右键单击,如下所示
void QkFriendsListView::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::RightButton)
{
emit customContextMenuRequested(event->pos());
}
else
QListView::mousePressEvent(event)
}
关于qt - 如何在Qt中处理鼠标右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592418/