2009-04-12 77 views
7

我在我的程序的主UI中有一个QTableView。我想在用户右键单击表格的单元格时显示弹出菜单,并在从菜单中选择一个选项时采取适当的操作。在QT中为QTableView创建弹出菜单

我正在使用Qt Creator 1(Qt版本4.5)。我怎样才能做到这一点?

回答

22

查看customContextMenuRequested信号以获取该事件,并使用QMenu作为菜单本身。使用QTableView::indexAt可以根据给定信号的坐标找出单元格是否被点击,并在单击菜单项时采取适当的操作。

+2

您将需要调用menu.exec(const QPoint&)来显示它。请确保将其转换为相应的坐标: menu.exec(mapToGlobal(point),0) – 2010-03-04 00:11:00