实践可行:
(1)设置控件菜单属性
ui->tableWidget->setContextMenuPolicy (Qt::CustomContextMenu);
(2)绑定右键事件槽
connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showRightmenu(QPoint)));
(3)在槽中处理菜单显示
void showRightmenu(QPoint)
{
m_PopMenu->exec(QCursor::pos());
}
(4)行选中信号:
cellClicked(int ,int)//好用
说明:
customContextMenuRequested(QPoint)信号是QWidget中唯一右键菜单点击的信号,
该信号发出的条件是:widget的ContextMenuPolicy必须是Qt::CustomContextMenu,此时右键点击就会发出此信号。