Qt / PySide:链接两个小部件的悬停高亮状态

问题描述 投票:1回答:1

我需要一个带有两个Qt小部件并“链接”它们的功能,以便无论鼠标悬停在哪个窗口上,它们都将以其(标准)悬停突出显示(如果有的话)突出显示。

这需要与调用者传递给此函数的任何类型的小部件一起使用;此功能不能仅要求调用者创建小部件子类即可。

以下是我所指的图片:

enter image description here

通常,将光标悬停在窗口小部件上时,它会突出显示,如图1和2所示。我需要一个示例来进行设置,以便无论鼠标悬停在哪个窗口小部件上,鼠标都将突出显示带有标准悬停突出显示,如图3所示。理想情况下,此函数将正常工作,仅将其参数作为QWidgets运行,而不管它们实际上是哪种小组件(毕竟悬停突出显示是一般的Qt行为) 。

def link_highlighting(widgetA, widgetB):

   ... what should go here? ...

这似乎涉及一些非常黑暗的事件黑客,但我的事件黑客活动并不强大。

想法?建议?

qt pyside
1个回答
0
投票

我做了一些研究,我发现有两种方法可以立即以通用方式完成。

第一部分是检测悬停动作。这应该很容易。只需订阅两个小部件的enterEvententerEvent。只要它们的类型为leaveEnvent,它将起作用。这样,当鼠标进入或离开小部件时,您会收到通知。

© www.soinside.com 2019 - 2024. All rights reserved.