如何测试WindowStaysOnTopHint标志是否在windowFlags中设置



这应该返回布尔值吗?

>>> win.windowFlags() & QtCore.Qt.WindowStaysOnTopHint
<PyQt4.QtCore.WindowFlags object at 0x7ad0578>

我已经知道

# enable always on top
win.windowFlags() | QtCore.Qt.WindowStaysOnTopHint
# disable it
win.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint
# toggle it 
win.windowFlags() ^ QtCore.Qt.WindowStaysOnTopHint

WindowFlags对象是来自WindowType枚举的标志的OR集合。WindowType只是int的一个子类,WindowFlags对象也支持int的操作。

你可以像这样测试标志的存在:

>>> bool(win.windowFlags() & QtCore.Qt.WindowStaysOnTopHint)
False

或者像这样:

>>> int(win.windowFlags() & QtCore.Qt.WindowStaysOnTopHint) != 0
False

通常,&存在时返回值本身,不存在时返回0:

>>> flags = 1 | 2 | 4
>>> flags
7
>>> flags & 2
2
>>> flags & 8
0

相关内容

  • 没有找到相关文章

最新更新