QT检查QTool小部件是否在顶部(用户可见)



i可以使用Isvisible((检查窗口小部件,但是当设置标志qtool时,有时会发生小部件在另一个小部件下方的堆栈中,因此用户看不到它。有什么方法能给我这个信息吗?

问候Georg

检查visibleregion((方法怎么样?如果涵盖了该项目,它将返回一个空的Qregion。您可以与Isempty((

联系

您还可以使用Rise((

将小部件带到顶部

我在Windows上的PYQT5有类似的问题。QT方法visibleRegion()isVisible()表明,而实际上却是不可见的。对我有用的唯一解决方案:

import win32gui, win32con  # from pywin32 package
def is_widget_obscured(widget):
    hwnd = widget.winId()
    hwnd_above = win32gui.GetWindow(hwnd, win32con.GW_HWNDPREV)
    return hwnd_above != 0

GetWindow()的文档:https://learn.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getwindow

相关内容

最新更新