When running macOS on a multi-display system, a QPushButton that opens a QMenu may cause the QMenu to appear on the wrong screen.
In order for this to happen, the menu must be opened on a monitor other than the primary monitor, and the QMenu must have enough items that its height is more than half the height of the current display.
The attached program demonstrates the bug. (Make sure the menu has enough items to be tall enough.) Run the application, drag the window on to the middle of the secondary monitor, and then click the button. The menu will open in the upper right corner of the primary monitor rather than underneath the mouse cursor.
Note that if the menu is either near the top or bottom of the secondary monitor such that the menu can open either entirely below or entirely above the button, then the bug will not occur. It only occurs when the menu tries to open so that it covers the button.