在 Qt 中为 QTableView 创建弹出菜单
Posted
技术标签:
【中文标题】在 Qt 中为 QTableView 创建弹出菜单【英文标题】:Creating popup menu in Qt for QTableView 【发布时间】:2009-04-12 07:57:11 【问题描述】:我的程序主 UI 中有一个QTableView
。我想在用户右键单击表格的单元格时显示弹出菜单,并在从菜单中选择一个选项时采取适当的操作。
我正在使用 Qt Creator 1(Qt 版本 4.5)。我该怎么做?
【问题讨论】:
【参考方案1】:查看customContextMenuRequested 信号以获取事件,并为菜单本身使用QMenu。使用QTableView::indexAt 根据给定信号的坐标找出单击了哪些单元格(如果有),并在单击菜单项时采取适当的操作。
【讨论】:
你需要调用 menu.exec(const QPoint&) 来显示它。确保将其转换为适当的坐标:menu.exec(mapToGlobal(point), 0) 或者直接使用 menu.exec(QCursor::pos()) doc.trolltech.com/latest/qmenu.html#exec 可以从键盘快捷键调用上下文菜单,因此光标位置并不总是正确的调用点。以上是关于在 Qt 中为 QTableView 创建弹出菜单的主要内容,如果未能解决你的问题,请参考以下文章