QTableWidget - 仅适用于特定单元格/列的上下文菜单

发布于 2024-11-09 07:01:56 字数 242 浏览 0 评论 0原文

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

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

谢谢你并欢呼, 马蒂亚斯

I am using a QTableWidget for displaying data. I know that I can use the addAction method to add a context menu. How can I limit the context menu to only specific cells or columns? addAction exists for QActionGroup QGraphicsWidget QMenu QMenuBar QToolBar QWidget. Should I somehow filter oder disable/enable the signal/slots? Work with right click events?

A similar question would be how to get different context menu's for different rows?

Thank you and cheers,
Matthias

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平安喜乐 2024-11-16 07:01:56

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

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

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

Another method to create custom context menus is to implement a slot to the QWidget::customContextMenuRequested() signal. There you can query the cell under the position (QTableWidget::itemAt() - watch out for global->widget mapping!), and then build a custom menu using QMenu and QAction.

Also, I'd build the menu(s) beforehand, and than only exec() it in the slot.

Remember that you have to change the QWidget::ContextMenuPolicy property of the widget to Qt::CustomContextMenu!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文