3

我正在使用 QTableWidget 来显示数据。我知道我可以使用 addAction 方法来添加上下文菜单。如何将上下文菜单限制为仅特定的单元格或列?addAction 存在于 QActionGroup QGraphicsWidget QMenu QMenuBar QToolBar QWidget。我应该以某种方式过滤 oder 禁用/启用信号/插槽吗?使用右键单击事件?

一个类似的问题是如何为不同的行获取不同的上下文菜单?

谢谢你,干杯,马蒂亚斯

4

1 回答 1

4

创建自定义上下文菜单的另一种方法是为QWidget::customContextMenuRequested()信号实现一个​​槽。在那里您可以查询该位置下的单元格(QTableWidget::itemAt()-注意全局->小部件映射!),然后使用QMenuand构建自定义菜单QAction

另外,我会事先构建菜单,而不仅仅是在插槽中执行 exec() 。

请记住,您必须将QWidget::ContextMenuPolicy小部件的属性更改为Qt::CustomContextMenu!

于 2011-05-23T09:19:11.847 回答