我需要一个带有两个Qt小部件并“链接”它们的功能,以便无论鼠标悬停在哪个窗口上,它们都将以其(标准)悬停突出显示(如果有的话)突出显示。
这需要与调用者传递给此函数的任何类型的小部件一起使用;此功能不能仅要求调用者创建小部件子类即可。
以下是我所指的图片:
通常,将光标悬停在窗口小部件上时,它会突出显示,如图1和2所示。我需要一个示例来进行设置,以便无论鼠标悬停在哪个窗口小部件上,鼠标都将突出显示带有标准悬停突出显示,如图3所示。理想情况下,此函数将正常工作,仅将其参数作为QWidgets运行,而不管它们实际上是哪种小组件(毕竟悬停突出显示是一般的Qt行为) 。
def link_highlighting(widgetA, widgetB):
... what should go here? ...
这似乎涉及一些非常黑暗的事件黑客,但我的事件黑客活动并不强大。
想法?建议?
我做了一些研究,我发现有两种方法可以立即以通用方式完成。
第一部分是检测悬停动作。这应该很容易。只需订阅两个小部件的enterEvent
和enterEvent
。只要它们的类型为leaveEnvent
,它将起作用。这样,当鼠标进入或离开小部件时,您会收到通知。