【发布时间】:2018-07-06 17:59:41
【问题描述】:
当用户单击选项卡化 QDockWidget 的选项卡时,我需要执行一段代码。到目前为止,我一直在通过使用“visibilityChanged”事件的黑客来做到这一点,但这现在引起了问题(例如,如果我有几个选项卡式停靠小部件并且我拖出一个使其浮动,下面的选项卡式小部件将触发其“visibilityChanged”事件,我会错误地将其解释为用户单击选项卡)。当用户单击 QDockWidgets 的选项卡时,我如何才能收到正确的通知?我已经尝试过 QDockWidget 的“focusInEvent”,但是单击选项卡时它似乎没有触发。
【问题讨论】:
-
当一个分区项被拖动时,点击也会触发,这样可以吗?请提供minimal reproducible example
-
恐怕点击事件在这里没有帮助。我只需要在用户点击标签时收到通知。
-
这句话是矛盾的,一方面它表明点击事件将没有用,另一方面你希望得到点击的通知。你想要土豆,但你不想要土豆。
-
如果我在 QDockWidget 中处理“mousePressEvent”,则当用户选择选项卡时不会引发该事件。因此,它不提供有关何时单击选项卡的通知,并且在这种情况下没有用。
-
你为什么认为我使用那个方法?我使用另一种方法,它在按下选项卡时启动。 :)
标签: python pyqt pyqt4 qmainwindow qdockwidget