qtablewidget右键菜单
时间: 2023-08-31 12:09:41 浏览: 120
【QT常用技术讲解】tableWidget右键菜单及多进程编程
QTableWidget可以通过设置ContextMenuPolicy属性为Qt::CustomContextMenu来激活右键菜单。然后可以通过实现customContextMenuRequested信号的槽函数来定义自己的菜单。以下是一个示例代码:
```
void MyWidget::onTableWidgetCustomContextMenuRequested(const QPoint& pos)
{
QMenu* menu = new QMenu(this);
QAction* editAction = new QAction(tr("Edit"), this);
QAction* deleteAction = new QAction(tr("Delete"), this);
menu->addAction(editAction);
menu->addAction(deleteAction);
QAction* selectedItem = menu->exec(tableWidget->mapToGlobal(pos));
if(selectedItem == editAction)
{
//TODO: edit the selected item
}
else if(selectedItem == deleteAction)
{
//TODO: delete the selected item
}
delete menu;
}
```
该代码实现了一个简单的菜单,包含了编辑和删除两个选项。当用户右键点击QTableWidget的某一项时,会触发customContextMenuRequested信号并传递该项的坐标pos,我们在槽函数中根据pos定位菜单的位置,并在用户选择一个选项后执行相应的操作。
阅读全文