在Qt中为QTableView创建弹出菜单

Don*_*alo 7 c++ qt qtableview

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

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

Sim*_*ead 23

查看customContextMenuRequested信号以获取事件,并使用QMenu作为菜单本身.使用QTableView :: indexAt根据给定信号的坐标找出单击的单元格(如果有),并在单击菜单项时执行相应的操作.

  • 或者只使用menu.exec(QCursor :: pos())http://doc.trolltech.com/latest/qmenu.html#exec (5认同)
  • 您需要调用menu.exec(const QPoint&)来显示它.确保将其翻译为适当的坐标:menu.exec(mapToGlobal(point),0) (2认同)