用于上下文菜单位置的QPoint

0 投票
1 回答
938 浏览
提问于 2025-04-16 11:02

我生成了这些 i 按钮:

self.connect(self.ui.pushButton_i, QtCore.SIGNAL('customContextMenuRequested(const QPoint)'), self.on_context_menu)

这些按钮是放在一个 gridLayout 中的。上下文菜单的横向位置是正确的,但垂直位置总是出现在按钮的最底部。

我该如何确保上下文菜单的位置正好在光标的正下方(也就是标准位置)呢?

1 个回答

1

我做的事情是让创建 contextMenu 的对象把鼠标坐标转换成全局坐标:

      self.editorContextMenu.exec_(self.confEditorTree.mapToGlobal(point))

这里的 editorContextMenu 就是那个 contextMenu 本身,而 self.confEditorTree 是被点击的东西。所以在你的情况下,你可能需要让 pushButtons 来转换鼠标坐标。

撰写回答